// Definir los pines de los LEDs
int ledPins[30] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38};
// Definir el pin del botón
int buttonPin = 44;
// Variable para almacenar el tiempo aleatorio
unsigned long randomTime = 0;
void setup() {
// Configurar los pines como salidas
for (int i = 0; i < 39; i++) {
pinMode(ledPins[i], OUTPUT);
}
// Configurar el pin del botón como entrada
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
// Esperar hasta que se presione el botón
while (digitalRead(buttonPin) == HIGH) {
// No hacer nada hasta que se presione el botón
}
// Generar un tiempo aleatorio entre 5000 y 8000 ms
randomTime = random(5000, 8000);
// Bucle para encender y apagar los LEDs uno por uno
unsigned long startTime = millis();
while (millis() - startTime < randomTime) {
for (int i = 0; i < 30; i++) {
digitalWrite(ledPins[i], HIGH); // Encender LED
delay(50); // Esperar 500 ms
digitalWrite(ledPins[i], LOW); // Apagar LED
delay(50); // Esperar 500 ms
}
}
// Elegir un LED al azar para mantener encendido
int randomLed = random(2,38);
digitalWrite(ledPins[randomLed], HIGH); // Encender LED aleatorio
delay(1000); // Mantener encendido por 10 segundos
digitalWrite(ledPins[randomLed], LOW); // Apagar LED
delay(2000); // Esperar 2 segundos antes de reiniciar el ciclo
}