#define BLYNK_TEMPLATE_ID "TMPL23U3FxQ-q"
#define BLYNK_TEMPLATE_NAME "BOTON"
#define BLYNK_AUTH_TOKEN "9QEnzA7vHqSzzwAhT1krKM8o1M3fWVL5"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define LED_ROJO 25
#define LED_VERDE 26
#define LED_AZUL 27
#define LED_MORADO 33
#define LED_CELESTE 32
BlynkTimer timer;
bool iniciar = false;
int estado = 0;
// Función para apagar todos los LEDs
void apagarTodos() {
digitalWrite(LED_ROJO, LOW);
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AZUL, LOW);
digitalWrite(LED_MORADO, LOW);
digitalWrite(LED_CELESTE, LOW);
}
// Botón de Blynk en V0
BLYNK_WRITE(V0) {
iniciar = param.asInt();
if (!iniciar) {
apagarTodos();
}
}
// Secuencia de LEDs
void secuenciaLED() {
if (!iniciar) return;
apagarTodos();
switch (estado) {
case 0:
digitalWrite(LED_AZUL, HIGH);
Serial.println("AZUL");
break;
case 1:
digitalWrite(LED_VERDE, HIGH);
Serial.println("VERDE");
break;
case 2:
digitalWrite(LED_ROJO, HIGH);
Serial.println("ROJO");
break;
case 3:
digitalWrite(LED_MORADO, HIGH);
Serial.println("MORADO");
break;
case 4:
digitalWrite(LED_CELESTE, HIGH);
Serial.println("CELESTE");
break;
}
estado++;
if (estado > 4) {
estado = 0;
}
}
void setup() {
Serial.begin(115200);
pinMode(LED_ROJO, OUTPUT);
pinMode(LED_VERDE, OUTPUT);
pinMode(LED_AZUL, OUTPUT);
pinMode(LED_MORADO, OUTPUT);
pinMode(LED_CELESTE, OUTPUT);
apagarTodos();
Blynk.begin(auth, ssid, pass);
// Cambia de LED cada 500 ms
timer.setInterval(500L, secuenciaLED);
Serial.println("ESP32 conectado a Blynk");
}
void loop() {
Blynk.run();
timer.run();
}