int segmentos[2][7] = {{17,5,15,2,0,16,4},{0,23,12,13,18,21,19}};
int comumCat = 14;
//Desafio: usar multiplexação para usar apenas 5 pinos (usar o fato do display ter 2 pinos para o pino comum. Assim os pinos que compartilham o mesmo pino ficariam acessos por 20 ms cada)
int numeros[10] = {B00111111, B00000110, B01011011, B01001111, B01100110, B01101101, B01111101, B00000111, B01111111, B01101111}; //0, 1, 2, 3, ..., em binário.
void setup() {
// put your setup code here, to run once:
//Definição de entradas e saídas
for(int i =1;i<=2;i++){
for(int j =1;j<=7;j++) pinMode(segmentos[i][j], OUTPUT);
}
pinMode(comumCat, OUTPUT);
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
int ref = millis();
int num = 9;
int ant = 10;
int time = 1000;
do{
//unidade
digitalWrite(comumCat, LOW);
if(millis()-ref>(9-num)*time && millis()-ref<=(9-num+1)*time && ant !=num){
for(int i = 0; i < 7; i++){
digitalWrite(segmentos[1][i], 0);
}
for(int i = 0; i < 7; i++){
digitalWrite(segmentos[1][i], bitRead(numeros[num],i));
}
ant = num;
num--;
}
}while(num >= 0);
}