Saltar al contenido
Volver

Cómo conectar un sensor LDR al ESP32: esquema y lectura de luz

Publicado:  at  10:00 a. m.

Una fotorresistencia LDR permite detectar cambios de luz con un circuito muy sencillo. En este tutorial la conectaremos a un ESP32 mediante un divisor de tensión y leeremos el punto intermedio con una entrada analógica.

Qué vas a construir

El LDR no entrega directamente un valor digital de encendido o apagado. Su resistencia cambia según la luz que recibe. Al combinarlo con una resistencia fija de 10 kΩ formamos un divisor de tensión que el ADC del ESP32 puede medir.

El montaje sirve como base para una luz nocturna, una persiana automática o un sensor que avise cuando una planta recibe poca luz. Si todavía no has usado esta placa, puedes consultar qué es un ESP32 y cómo empezar.

Material necesario

Esquema de conexión

Conecta el LDR entre 3,3 V y el punto de lectura. Desde ese punto conecta la resistencia de 10 kΩ a GND. El nodo central va al GPIO34, que es una entrada adecuada para leer el ADC en muchas placas ESP32.

Esquema de conexión de un LDR y una resistencia de 10 kiloohmios al GPIO34 de un ESP32
Divisor de tensión: el GPIO34 mide la tensión del punto central.

No apliques más de 3,3 V a una entrada del ESP32. El circuito debe alimentarse desde el pin de 3,3 V de la placa, no desde 5 V.

Código de prueba

const int LDR_PIN = 34;

void setup() {
  Serial.begin(115200);
}

void loop() {
  int lectura = analogRead(LDR_PIN);
  Serial.println(lectura);
  delay(500);
}

Abre el monitor serie a 115200 baudios y observa cómo cambia la lectura al iluminar u oscurecer el LDR. El valor exacto depende de la resistencia concreta, la luz ambiental y la configuración del ADC; no lo trates como una medida calibrada en lux.

Convertir la lectura en una decisión

Para encender una luz cuando el ambiente esté oscuro puedes usar un umbral inicial:

const int UMBRAL_OSCURIDAD = 1200;

void loop() {
  int lectura = analogRead(LDR_PIN);
  bool estaOscuro = lectura < UMBRAL_OSCURIDAD;

  Serial.println(estaOscuro ? "Oscuro" : "Hay luz");
  delay(500);
}

El umbral debe ajustarse observando las lecturas reales de tu habitación. Para evitar que el estado cambie continuamente cerca del límite, añade histéresis: usa un umbral para encender y otro ligeramente diferente para apagar.

Calibrar el montaje

La lectura del ADC no representa lux directamente. Para obtener un comportamiento útil, registra varios valores en las condiciones que te importan:

  1. Apunta el valor con la habitación iluminada.
  2. Tapa el LDR y registra el valor en oscuridad.
  3. Repite ambas medidas varias veces y anota un rango, no solo una muestra.

Después elige los umbrales entre esos rangos. Si hay mucha fluctuación, calcula la media de varias lecturas antes de compararla o coloca un condensador pequeño según el circuito y la respuesta que necesites. El objetivo es que una nube o una sombra momentánea no cambie el estado de la automatización.

Integrarlo con ESPHome

Cuando el circuito ya funciona, ESPHome permite publicar la lectura sin mantener un sketch propio:

sensor:
  - platform: adc
    pin: GPIO34
    name: "Luz ambiente"
    update_interval: 5s
    attenuation: auto

El nombre del pin y la atenuación dependen de la placa y de la versión de ESPHome. Empieza publicando el valor crudo y calibra después la conversión a una escala que tenga sentido para tu habitación. Para evitar automatizaciones inestables, añade un filtro de media y una condición con histéresis en Home Assistant en lugar de disparar una acción por cada muestra.

Errores frecuentes

Si la placa tampoco consigue conectarse a la red durante las pruebas, revisa la guía de errores de WiFi del ESP32.

Próximo paso

Cuando la lectura sea estable, puedes publicar el valor por MQTT o integrarlo con ESPHome y Home Assistant. La documentación del ADC de Espressif explica las características y limitaciones de la lectura analógica.

Equipo editorial de homeiotguide

Responsable editorial: Néstor Espuch


Sugerir cambios
Compartir este artículo en:

Artículo anterior
El WiFi se corta: por qué se desconectan los dispositivos
Artículo siguiente
Seguridad eléctrica del riego en el jardín