int conta; //
byte displaySeteSeg[10][7] = {
{ 1,1,1,1,1,1,0 }, //DIGITO 0
{ 0,1,1,0,0,0,0 }, //DIGITO 1
{ 1,1,0,1,1,0,1 }, //DIGITO 2
{ 1,1,1,1,0,0,1 }, //DIGITO 3
{ 0,1,1,0,0,1,1 }, //DIGITO 4
{ 1,0,1,1,0,1,1 }, //DIGITO 5
{ 1,0,1,1,1,1,1 }, //DIGITO 6
{ 1,1,1,0,0,0,0 }, //DIGITO 7
{ 1,1,1,1,1,1,1 }, //DIGITO 8
{ 1,1,1,1,0,1,1 } //DIGITO 9
};
void setup(){
//Definindo pinos como saída
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10,INPUT);
//inicializa display com número 0
conta = 0;
ligaSegmentosDisplay(conta);
}
void loop() {
if(digitalRead(10)== LOW){ //Se o botão for pressionado soma +1 no display
delay(500);
conta++; //incremento
if(conta == 10){ //Se passar de 9 reseta o display para 0
conta = 0;
ligaSegmentosDisplay(conta);
}
else{ //Se não mostra no display o próximo número
ligaSegmentosDisplay(conta);
}
}
}
void ligaSegmentosDisplay(byte digito){ //função para acionar o display com o digito correspondente
byte pino = 2;
//Liga os segmentos de acordo com o digito correspondente
for (byte contadorSegmentos = 0; contadorSegmentos < 7; ++contadorSegmentos){
digitalWrite(pino, displaySeteSeg[digito][contadorSegmentos]);
++pino;
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
r1:1
r1:2
r2:1
r2:2
sevseg1:COM.1
sevseg1:COM.2
sevseg1:A
sevseg1:B
sevseg1:C
sevseg1:D
sevseg1:E
sevseg1:F
sevseg1:G
sevseg1:DP