Hello everyone!
I am working on making an electronic dice, it has 7 diode's in this shape:
0 0 0
0
0 0 0
With this I can make all the numbers like a dice has.
I got it configured in such a way that with the press of a button the dice will show the next number:
Example: The dice shows 1 -> PushButton -> 2.
I also got a 2nd button and I want that to work like this:
If I press the 2nd button, the dice will show the number that came before the current one.
Example: The dice shows 5 -> PushButton2 -> 4.
I'm using an Internal PULL UP for the 2nd one and a PULL UP transistor for the 1st one. This is my code:
//A program that simulates a real life dice.
//All the leds that are currently attached to the board
int led = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
int led7 = 8;
int btn = 9;
int btn2 = 10;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(btn, INPUT); //button 1
pinMode(btn2, INPUT_PULLUP); //button 2
}
void clickTheButton() { //Button 1.
while( digitalRead( btn ) == LOW ) {}
while( digitalRead( btn ) == HIGH ) {}
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led5, HIGH);
clickTheButton();
digitalWrite(led5, LOW);
digitalWrite(led, HIGH);
digitalWrite(led4, HIGH);
clickTheButton();
digitalWrite(led, LOW);
digitalWrite(led4, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
clickTheButton();
digitalWrite(led3, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led, HIGH);
clickTheButton();
digitalWrite(led3, LOW);
digitalWrite(led6, LOW);
digitalWrite(led4, LOW);
digitalWrite(led, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led, HIGH);
digitalWrite(led5, HIGH);
clickTheButton();
digitalWrite(led5, LOW);
digitalWrite(led3, LOW);
digitalWrite(led6, LOW);
digitalWrite(led4, LOW);
digitalWrite(led, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led, HIGH);
digitalWrite(led6, HIGH);
clickTheButton();
digitalWrite(led, LOW);
digitalWrite(led3, LOW);
digitalWrite(led7, LOW);
digitalWrite(led4, LOW);
digitalWrite(led6, LOW);
digitalWrite(led2, LOW);
}