byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, //Configuração do dígito 0 { 0,1,1,0,0,0,0 }, //Configuração do dígito 1 { 1,1,0,1,1,0,1 }, //Configuração do dígito 2 { 1,1,1,1,0,0,1 }, //Configuração do dígito 3 { 0,1,1,0,0,1,1 }, //Configuração do dígito 4 { 1,0,1,1,0,1,1 }, //Configuração do dígito 5 { 1,0,1,1,1,1,1 }, //Configuração do dígito 6 { 1,1,1,0,0,0,0 }, //Configuração do dígito 7 { 1,1,1,1,1,1,1 }, //Configuração do dígito 8 { 1,1,1,0,0,1,1 }, //Configuração do dígito 9 }; void setup(){ pinMode(2, OUTPUT); //Saída 2 (Segmento a) pinMode(3, OUTPUT); //Saída 3 (Segmento b) pinMode(4, OUTPUT); //Saída 4 (Segmento c) pinMode(5, OUTPUT); //Saída 5 (Segmento d) pinMode(6, OUTPUT); //Saída 6 (Segmento e) pinMode(7, OUTPUT); //Saída 7 (Segmento f) pinMode(8, OUTPUT); //Saída 8 (Segmento g) } void ligarDisplay(byte digit){ //Acionar o display byte pino = 2; for (byte contadorSegmentos = 0; contadorSegmentos < 7; ++contadorSegmentos){ //Contador dos segmentos digitalWrite(pino, seven_seg_digits[digit][contadorSegmentos]); //Passa por cada segmento pino=pino+1; //soma 1 ao contador } } void loop() { for (byte contador = 0; contador < 10; contador++){ //Contador para manter os dígitos visíveis delay(1000); //Duração de cada dígito visível ligarDisplay(contador); //Faz a contagem } }