Programa con for
int leds[] = {10, 11, 2, 3, 4, 5, 8, 7, 6};
int boton = 9;
int numLeds = 9;
int presionado = 0;
void setup() {
for (int i = 0; i < numLeds; i++) {
pinMode(leds[i], OUTPUT);
}
pinMode(boton, INPUT_PULLUP);
}
void loop() {
int lectura = digitalRead(boton);
// Espera a que se presione el botón
if (lectura == LOW && presionado == 0) {
presionado = 1;
// Secuencia individual (uno encendido a la vez)
for (int i = 0; i < numLeds; i++) {
for (int j = 0; j < numLeds; j++) {
digitalWrite(leds[j], LOW);
}
digitalWrite(leds[i], HIGH);
delay(500);
}
// Encendido final de todos los LEDs
for (int i = 0; i < numLeds; i++) {
digitalWrite(leds[i], HIGH);
delay(200);
}
}
// Si no se ha presionado el botón, todos apagados
if (presionado == 0) {
for (int i = 0; i < numLeds; i++) {
digitalWrite(leds[i], LOW);
}
}
}
Programa con while
int LED1 = 2;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
int LED7 = 8;
int LED8 = 9;
int LED9 = 10;
int boton = 11;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(LED8, OUTPUT);
pinMode(LED9, OUTPUT);
pinMode(boton, INPUT_PULLUP);
}
void loop() {
int botonpres = digitalRead(boton);
while (botonpres == HIGH) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
digitalWrite(LED8, LOW);
digitalWrite(LED9, LOW);
}
while (botonpres == LOW) {
digitalWrite(LED1, HIGH);
delay(500);
digitalWrite(LED1, LOW);
delay(500);
digitalWrite(LED2, HIGH);
delay(500);
digitalWrite(LED2, LOW);
delay(500);
digitalWrite(LED3, HIGH);
delay(500);
digitalWrite(LED3, LOW);
delay(500);
digitalWrite(LED4, HIGH);
delay(500);
digitalWrite(LED4, LOW);
delay(500);
digitalWrite(LED5, HIGH);
delay(500);
digitalWrite(LED5, LOW);
delay(500);
digitalWrite(LED6, HIGH);
delay(500);
digitalWrite(LED6, LOW);
delay(500);
digitalWrite(LED7, HIGH);
delay(500);
digitalWrite(LED7, LOW);
delay(500);
digitalWrite(LED8, HIGH);
delay(500);
digitalWrite(LED8, LOW);
delay(500);
digitalWrite(LED9, HIGH);
delay(500);
digitalWrite(LED9, LOW);
delay(500);
digitalWrite(LED1, HIGH);
delay(500);
digitalWrite(LED2, HIGH);
delay(500);
digitalWrite(LED3, HIGH);
delay(500);
digitalWrite(LED4, HIGH);
delay(500);
digitalWrite(LED5, HIGH);
delay(500);
digitalWrite(LED6, HIGH);
delay(500);
digitalWrite(LED7, HIGH);
delay(500);
digitalWrite(LED8, HIGH);
delay(500);
digitalWrite(LED9, HIGH);
delay(500);
}
}