// Definición de pines basada en la imagen
const int rojaArriba = 13;
const int amarillaArriba = 12;
const int verdeArriba = 11;
const int rojaAbajo1 = 10;
const int amarillaAbajo = 9;
const int rojaAbajo2 = 8;
// Variables para almacenar el estado de los LEDs
int estadoRA = LOW;
int estadoAA = LOW;
int estadoVA = LOW;
int estadoRB1 = LOW;
int estadoAB = LOW;
int estadoRB2 = LOW;
// Variables para guardar el último tiempo en que cambió cada LED
unsigned long previoRA = 0;
unsigned long previoAA = 0;
unsigned long previoVA = 0;
unsigned long previoRB1 = 0;
unsigned long previoAB = 0;
unsigned long previoRB2 = 0;
void setup() {
pinMode(rojaArriba, OUTPUT);
pinMode(amarillaArriba, OUTPUT);
pinMode(verdeArriba, OUTPUT);
pinMode(rojaAbajo1, OUTPUT);
pinMode(amarillaAbajo, OUTPUT);
pinMode(rojaAbajo2, OUTPUT);
}
void loop() {
unsigned long tiempoActual = millis();
// LED Roja Arriba (4 segundos: 4000ms)
if (tiempoActual - previoRA >= 4000) {
previoRA = tiempoActual;
estadoRA = !estadoRA; // Cambia el estado (si estaba apagado, enciende)
digitalWrite(rojaArriba, estadoRA);
}
// LED Roja Abajo (debajo de la roja) (4 segundos)
if (tiempoActual - previoRB1 >= 4000) {
previoRB1 = tiempoActual;
estadoRB1 = !estadoRB1;
digitalWrite(rojaAbajo1, estadoRB1);
}
// LED Amarilla Arriba (3 segundos: 3000ms)
if (tiempoActual - previoAA >= 3000) {
previoAA = tiempoActual;
estadoAA = !estadoAA;
digitalWrite(amarillaArriba, estadoAA);
}
// LED Amarilla Abajo (3 segundos)
if (tiempoActual - previoAB >= 3000) {
previoAB = tiempoActual;
estadoAB = !estadoAB;
digitalWrite(amarillaAbajo, estadoAB);
}
// LED Verde Arriba (2 segundos: 2000ms)
if (tiempoActual - previoVA >= 2000) {
previoVA = tiempoActual;
estadoVA = !estadoVA;
digitalWrite(verdeArriba, estadoVA);
}
// LED Roja Abajo (debajo de la verde) (2 segundos)
if (tiempoActual - previoRB2 >= 2000) {
previoRB2 = tiempoActual;
estadoRB2 = !estadoRB2;
digitalWrite(rojaAbajo2, estadoRB2);
}
}