#define _7seg_A 15
#define _7seg_B 2
#define _7seg_C 0
#define _7seg_D 4
#define _7seg_E 16
#define _7seg_F 17
#define _7seg_G 5
#define b1 18
#define b2 19
int8_t numero[10] = {0b01111110, // 0
0b00110000, // 1
0b01101101, // 2
0b01111001, // 3
0b00110011, // 4
0b01011011, // 5
0b00011111, // 6
0b01110000, // 7
0b01111111, // 8
0b01110011 // 9
};
int contador = 0;
bool sb1 = 0, sb2 = 0;
void setup() {
Serial.begin(115200);
Serial.println(" ");
pinMode(_7seg_A, OUTPUT);
pinMode(_7seg_B, OUTPUT);
pinMode(_7seg_C, OUTPUT);
pinMode(_7seg_D, OUTPUT);
pinMode(_7seg_E, OUTPUT);
pinMode(_7seg_F, OUTPUT);
pinMode(_7seg_G, OUTPUT);
pinMode(b1, INPUT);
pinMode(b2, INPUT);
}
void loop() {
printDisplay(contador);
if(digitalRead(b1) == HIGH && sb1 == 0){
contador++;
sb1 = 1;
}
if(digitalRead(b2) == HIGH && sb2 == 0){
contador--;
sb2 = 1;
}
if(digitalRead(b1) == LOW && sb1 == 1)sb1 = 0;
if(digitalRead(b2) == LOW && sb2 == 1)sb2 = 0;
if(contador >= 10)contador = 0;
if(contador <= -1)contador = 9;
Serial.println(contador);
delay(10);
}
void printDisplay(int valor){
digitalWrite(_7seg_A, numero[valor] & 0b01000000);
digitalWrite(_7seg_B, numero[valor] & 0b00100000);
digitalWrite(_7seg_C, numero[valor] & 0b00010000);
digitalWrite(_7seg_D, numero[valor] & 0b00001000);
digitalWrite(_7seg_E, numero[valor] & 0b00000100);
digitalWrite(_7seg_F, numero[valor] & 0b00000010);
digitalWrite(_7seg_G, numero[valor] & 0b00000001);
}