// LED Blinking - LED EXTERNO para ESP32
// Funciona ok en Wokwi y en hardware físico
// Pin para LED externo
const int LED_ROJO = 5; // Pin GPIO 5
const int LED_VERDE = 18;
const int LED_AZUL = 19;
//Pines para pulsadores
const int BOTON_ROJO = 26;
const int BOTON_VERDE = 25;
const int BOTON_AZUL = 33;
int Valorviejo = LOW;
/////conectar los cables desde la raízzz
void setup() {
Serial.begin(115200);
Serial.println("Iniciando");
// Configurar el pin del LED como salida
pinMode(LED_ROJO, OUTPUT);
pinMode(LED_VERDE, OUTPUT);
pinMode(LED_AZUL, OUTPUT);
pinMode(BOTON_ROJO, INPUT);
pinMode(BOTON_VERDE, INPUT);
pinMode(BOTON_AZUL, INPUT);
digitalWrite(LED_ROJO, HIGH); // HIGH = ENCENDIDO
digitalWrite(LED_VERDE, HIGH);
digitalWrite(LED_AZUL, HIGH);
delay(2000); // Esperar 2 segundo
digitalWrite(LED_ROJO, LOW); // HIGH = ENCENDIDO
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AZUL, LOW);
delay(2000);
Serial.println("Tocá el botón rojo para prender LED");
}
void loop()
{
int Nuevovalorrojo = digitalRead(BOTON_ROJO);
if(Nuevovalorrojo != Valorviejo)
{
if(Nuevovalorrojo == HIGH)
{
digitalWrite(LED_ROJO, HIGH);
Serial.println("Botón rojo prendido");
delay(2000);
digitalWrite(LED_ROJO, LOW); //el boton se prende por unos segundos y luego se apaga
Serial.println("El botón rojo se apagó");
}
else
{
Serial.println("El botón rojo no está presionado");
}
//delay
}
}