# Overview

Contest submission by: Craig

The concept of the ZenPin is to make it so when a person enters a PIN code that if somebody is watching they can not simply re-enter the pin. This is similar to a one-time password system but doesn't not require the user to memorize or carry any pincodes. Instead of memorizing a pin the user memorizes an algorithm.

For this Proof-of-Concept (PoC) the algorithm is very simple. The layout is:

```    (R)     (Y)     (G)

7   |    8    |  9
---------------------
4   |    5    |  6
---------------------
1   |    2    |  3
---------------------
C   |    0    |  E
```

Where (R) = Red LED, (Y) = Yellow/Orange LED, (G) = Green LED

PIN codes are 5 digits long.

## Goal

Get the green light to stay solid and the "good" tone to play.

Failure if the red light goes solid and the "bad" tone plays :)

## How it works

The user enters any number they want to start. The system then randomly generates a 4 digit pin. Then the system uses the lights to "hint" as to what the next pin is. It will find the shortest distance to the next number via adding or subtracting and then blink either the Red LED or the Yellow LED for the amount of times needed. The Red LED represents subtraction while the Yellow represents addition. If the red blinks 3 times then you subtract 3 from the last number you just pressed. The number will roll over. For instance, if you press a 9 and the Yellow light blinks twice, then the next number is a 1.

If both the Red and the Yellow light blink at the same time then the next number is the same.

You can press 'C' to start over. This is verified by a quick blink of all lights.

You can press 'E' to repeat the last hint.

If you get any number wrong in the sequence then there will not be any indication. Instead the system will give you "hints" to the wrong numbers. Only after 5 digits will you hear the "bad" tone and the red light will stay on.