#define a 19
#define b 18
#define c 32
#define d 33
#define e 25
#define f 26
#define g 14
#define dot 27
#define incrementB 15
#define decrementB 2
int counter = 0;
int lastIncrementState = LOW;
int lastDecrementState = LOW;
void setup() {
Serial.begin(115200);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dot, OUTPUT);
pinMode(incrementB, INPUT);
pinMode(decrementB, INPUT);
}
void loop() {
int incrementState = digitalRead(incrementB);
int decrementState = digitalRead(decrementB);
if (counter < 0){
counter = 0;
}
if (counter > 9){
counter = 9;
}
if (digitalRead(incrementB)== HIGH && lastIncrementState == LOW){
counter++;
delay(500);
Serial.println(counter);
}
if (digitalRead(decrementB)== HIGH && lastDecrementState == LOW){
counter--;
delay(500);
Serial.println(counter);
}
lastIncrementState = incrementState;
lastDecrementState = decrementState;
display(counter);
}
void display(int n){
switch(n)
{
case 0:
zero ();
break;
case 1:
one ();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
six();
break;
case 7:
seven ();
break;
case 8:
eight();
break;
case 9:
nine();
break;
}
}
void zero(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(dot,LOW);
}
void one(){
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dot,HIGH);
}
void two(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
digitalWrite(dot,LOW);
}
void three(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
digitalWrite(dot,LOW);
}
void four(){
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dot,LOW);
}
void five(){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dot,LOW);
}
void six(){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dot,HIGH);
}
void seven(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dot,LOW);
}
void eight(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dot,LOW);
}
void nine(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dot,HIGH);
}