// ESP32-WROOM-32E. Arranque Secuencial de 3 Leds con Pulsadores.
// Autor: Oscar Núñez Mori. 20 Feb. 2024. Jaén-PERÚ.
// Basado en OpenAI.(2024, Feb 20). ChatGPT 3.5.
// [ESP32-WROOM-32E. Arranque Secuencial de 3 Leds con Pulsadores].
// https://chat.openai.com/share/789a8346-e70d-49fa-a5fa-cb40503ff4a8
// Define los pines de los LED y pulsadores
const int led[] = {25, 26, 27}; // Pines de los LED
const int arranque = 14; // Pin del pulsador de inicio
const int parada = 12; // Pin del pulsador de parada
void setup() {
// Configura los pines de los LED como salida
for (int i = 0; i < 3; i++) {
pinMode(led[i], OUTPUT);
digitalWrite(led[i], LOW); // Apaga los LED al inicio
}
// Configura los pines de los pulsadores como entrada con resistencia de pull-up
pinMode(arranque, INPUT_PULLUP);
pinMode(parada, INPUT_PULLUP);
}
void loop() {
// Verifica el estado del pulsador de inicio
if (digitalRead(arranque) == LOW) {
arrancarLEDs();
// Espera hasta que se suelte el pulsador para evitar reinicios rápidos
while (digitalRead(arranque) == LOW) {
delay(1000);
}
}
// Verifica el estado del pulsador de parada
if (digitalRead(parada) == LOW) {
pararLEDs();
// Espera hasta que se suelte el pulsador para evitar reinicios rápidos
while (digitalRead(parada) == LOW) {
delay(1000);
}
}
}
// Función para arrancar los LED secuencialmente
void arrancarLEDs() {
for (int i = 0; i < 3; i++) {
digitalWrite(led[i], HIGH);
delay(3000); // Ajusta el tiempo de encendido de cada LED según sea necesario
}
}
// Función para parar todos los LED
void pararLEDs() {
for (int i = 0; i < 3; i++) {
digitalWrite(led[i], LOW);
}
}