// Número de botones y LEDs
const int numButtons = 22;
const int numLeds = 5;
int sequence[numLeds] = {4, 1, 6, 3, 0};
// Definir los pines para los botones y LEDs
int buttonPins[numButtons] = {
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
A0, A1,A2, A3, A4, A5, 14, 15, 16,17
};
int ledPins[numButtons] = {
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42
};
void setup() {
Serial.begin(9600); // Inicializar comunicación serial para depuración
// Configurar pines de botones como entradas con pull-up
for (int i = 0; i < numButtons; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
// Configurar pines de LEDs como salidas
for (int i = 0; i < numButtons; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], HIGH); // Apagar LEDs inicialmente
}
for (int i = 0; i < numLeds; i++) {
// Encender el LED actual según la secuencia
digitalWrite(ledPins[sequence[i]], LOW);
// Apagar el LED anterior, excepto el primero
if (i > 0) {
digitalWrite(ledPins[sequence[i - 1]], HIGH);
}
// Esperar antes de pasar al siguiente LED
delay(500); // Ajusta el tiempo según desees
}
// Apagar el último LED después de completar la secuencia
digitalWrite(ledPins[sequence[numLeds - 1]], HIGH);
// Esperar antes de repetir la secuencia
delay(1000); // Ajusta el tiempo según desees
}
void loop() {
// Apagar el último LED después de completar la secuencia
//digitalWrite(ledPins[sequence[numLeds - 1]], HIGH);
// Leer el estado de cada botón
for (int i = 0; i < numButtons; i++) {
if (digitalRead(buttonPins[i]) == LOW) {
// Si el botón está presionado, encender el LED correspondiente
digitalWrite(ledPins[i], LOW);
Serial.print("Botón presionado: ");
Serial.println(ledPins[i]);
}
}
}