int tiempo = 1000;
byte display[] = {
0b01111110, // 0
0b00001100, // 1
0b10110110, // 2
0b10011110, // 3
0b11001100, // 4
0b11011010, // 5
0b11111000, // 6
0b00001110, // 7
0b11111110, // 8
0b11001110 // 9
};
void setup() {
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
DDRD = 0xFF; // Configurar todos los pines de PORTD como salida
}
void loop() { //rojo p 12 //verde p 11
delay(1000);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(8, LOW);
digitalWrite(8, HIGH); //inicia rojo
digitalWrite(12, HIGH);
for (int i = 9; i >= 6; i--) {
PORTD = display[i];
delay(tiempo);
}
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
for (int i = 5; i >= 4; i--) { //cambia amarillo
PORTD = display[i];
delay(tiempo);
}
for (int i = 3; i >= 0; i--) { //cambia verde
PORTD = display[i];
delay(tiempo);
}
digitalWrite(9, LOW);
digitalWrite(12, LOW);
digitalWrite(10, HIGH);
PORTD = display[0];
delay(tiempo);
delay(200);
digitalWrite(11, LOW);
delay(200);
digitalWrite(11, HIGH);
}