const int numLEDs = 10;
const int ledPins[numLEDs] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
const int buttonPin = 12;
bool running = false;
bool previousButtonState = false;
void setup() {
Serial.begin(9600);
// Configurar pines de los LEDs como salida
for (int i = 0; i < numLEDs; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW); // Apagar todos los LEDs al inicio
}
pinMode(buttonPin, INPUT_PULLUP); // Usamos la resistencia pull-up interna
}
void loop() {
bool currentButtonState = digitalRead(buttonPin) == LOW; // Botón presionado = LOW
// Detectar flanco descendente (cuando se presiona el botón)
if (currentButtonState && !previousButtonState) {
startSequence();
}
previousButtonState = currentButtonState;
}
void startSequence() {
running = true;
// Encender todos los LEDs
for (int i = 0; i < numLEDs; i++) {
digitalWrite(ledPins[i], HIGH);
}
Serial.println("Iniciando secuencia...");
// Apagar uno a uno cada segundo
for (int i = 0; i < numLEDs; i++) {
delay(1000); // Esperar un segundo
digitalWrite(ledPins[i], LOW);
Serial.print("LED apagado: ");
Serial.print(i + 1);
Serial.print(" / ");
Serial.println(numLEDs);
}
Serial.println("Secuencia finalizada. Esperando botón para reiniciar.");
running = false;
}