// Define los pines para el relé y el LDR
#define RELAY_PIN GPIO_NUM_2 // Pin para controlar el relé
#define LDR_DOUT_PIN GPIO_NUM_0 // Pin para leer la salida digital (DO) del módulo LDR
void setup() {
Serial.begin(115200);
Serial.println(F("Sistema de Luz Automatica (LDR + Rele) Iniciado."));
pinMode(RELAY_PIN, OUTPUT); // El pin del relé es una salida
digitalWrite(RELAY_PIN, HIGH); // Asegura que el relé esté APAGADO al inicio (HIGH para relés que activan con LOW)
pinMode(LDR_DOUT_PIN, INPUT); // El pin del LDR como entrada
}
void loop() {
// Lee el estado digital del módulo LDR
int ldrState = digitalRead(LDR_DOUT_PIN);
// Lógica de control:
// Si el LDR detecta "oscuridad" (ldrState == HIGH, asumiendo configuración de módulo)
// enciende el relé (poniendo el pin en LOW si es de activación invertida)
if (ldrState == HIGH) { // Si el módulo LDR indica "oscuridad"
digitalWrite(RELAY_PIN, LOW); // Activa el relé (enciende el LED)
Serial.println(F("Luz Baja Detectada: Relé ACTIVADO (LED ON)."));
} else {
// Si el LDR detecta "claridad" (ldrState == LOW)
digitalWrite(RELAY_PIN, HIGH); // Desactiva el relé (apaga el LED)
Serial.println(F("Luz Suficiente Detectada: Relé DESACTIVADO (LED OFF)."));
}
delay(500); // Pequeña pausa para evitar cambios rápidos y saturación del serial
}Loading
aitewinrobot-esp32c3-supermini
aitewinrobot-esp32c3-supermini