Arduino Nano ESP32 - Módulo LDR
El módulo de sensor de luz LDR puede detectar y medir la luz a su alrededor. Tiene dos salidas: una salida digital que puede ser baja o alta, y una salida analógica.
En este tutorial, aprenderemos cómo usar un Arduino Nano ESP32 y un módulo de sensor de luz LDR juntos para detectar y medir la cantidad de luz. Esto es lo que cubriremos:
- Cómo conectar el módulo de sensor de luz LDR al Arduino Nano ESP32.
- Cómo programar el Arduino Nano ESP32 para detectar la luz leyendo la señal digital del módulo sensor de luz LDR.
- Cómo programar el Arduino Nano ESP32 para medir el nivel de luz leyendo la señal analógica del módulo sensor de luz LDR.

Después, puedes modificar el código para hacer que un LED o una bombilla se encienda (usando un relé) cuando detecte luz.
Si te interesa un sensor de luz en su forma bruta, te sugiero explorar el tutorial para el Sensor de Luz Arduino Nano ESP32.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del módulo de sensor de luz LDR
El módulo de sensor de luz LDR se puede usar para saber si hay luz o cuánta luz hay en el área que lo rodea. Tiene un pin de salida digital y un pin de salida analógica para diferentes opciones.
Esquema de pines
El módulo de sensor de luz LDR tiene cuatro pines:
- Pin VCC: Conecte este pin a la fuente de alimentación (entre 3.3V y 5V).
- Pin GND: Conecte este pin a la tierra (0V).
- Pin DO: Este es un pin de salida digital. Proporciona una señal alta cuando está oscuro y baja cuando está claro. Puede ajustar el umbral entre oscuro y claro mediante un potenciómetro incorporado.
- Pin AO: Este es un pin de salida analógica. El valor disminuye a medida que la luz se vuelve más brillante y aumenta a medida que la luz se vuelve más oscura.

Además, el módulo de sensor de luz LDR está equipado con dos indicadores LED:
- El indicador PWR-LED muestra el estado de la alimentación.
- El indicador DO-LED refleja el estado de la luz en el pin DO: se ilumina cuando hay luz y permanece apagado cuando está oscuro.
Cómo funciona
En cuanto al pin DO:
- El módulo de sensor de luz LDR tiene un potenciómetro que permite ajustar la sensibilidad o el umbral para detectar la luz.
- Cuando la intensidad de la luz en el entorno circundante está por encima del umbral establecido (considerado como luz), la salida del sensor en el pin DO pasa a bajo y el DO-LED se enciende.
- Cuando la intensidad de la luz en el entorno circundante está por debajo del umbral establecido (considerado como oscuro), la salida del sensor en el pin DO pasa a alto y el DO-LED se apaga.
Con respecto al pin AO:
- El valor leído desde el pin AO es inversamente proporcional a la intensidad de la luz en el entorno circundante. En otras palabras, a medida que la intensidad de la luz aumenta (más brillante), el valor en el pin AO disminuye.
- Del mismo modo, a medida que la intensidad de la luz disminuye (más oscura), el valor en el pin AO aumenta.
Es importante señalar que ajustar el potenciómetro no afecta el valor en el pin AO.
Diagrama de Cableado
Dado que el módulo de sensor de luz tiene dos salidas, puedes elegir usar una o ambas, dependiendo de lo que necesites.
- El diagrama de cableado entre Arduino Nano ESP32 y el módulo sensor de luz LDR cuando se utiliza solo la salida digital.

This image is created using Fritzing. Click to enlarge image
- El diagrama de cableado entre Arduino Nano ESP32 y el módulo sensor de luz LDR cuando solo se utiliza la AO.

This image is created using Fritzing. Click to enlarge image
- El diagrama de cableado entre Arduino Nano ESP32 y el módulo de sensor de luz LDR cuando se utilizan tanto AO como DO.

This image is created using Fritzing. Click to enlarge image
Código de Arduino Nano ESP32 - Leer valor del pin DO
Pasos R\u00e1pidos
Para empezar con Arduino Nano ESP32, siga estos pasos:
- Si eres nuevo en Arduino Nano ESP32, consulta el tutorial sobre cómo configurar el entorno para Arduino Nano ESP32 en el IDE de Arduino.
- Conecta los componentes de acuerdo con el diagrama proporcionado.
- Conecta la placa Arduino Nano ESP32 a tu computadora usando un cable USB.
- Inicia el IDE de Arduino en tu computadora.
- Selecciona la Arduino Nano ESP32 placa y su puerto COM correspondiente.
- Copia el código anterior y ábrelo con el IDE de Arduino.
- Haz clic en el botón Upload del IDE de Arduino para cargar el código en Arduino Nano ESP32.
- Cubre y destapa el módulo sensor de luz LDR con tu mano o con algo.
- Ver el resultado en el Monitor serie.
Si observa que el estado del LED permanece encendido o apagado de forma constante, independientemente de la presencia de luz, tiene la opción de ajustar el potenciómetro. Este ajuste le permite afinar con precisión la sensibilidad a la luz del sensor.
Además, el código puede modificarse según tus requisitos. Por ejemplo, puedes programar el LED para que se active o la luz para encenderse cuando se detecta luz. Además, tienes la flexibilidad de hacer que un servomotor gire. Instrucciones detalladas y tutoriales sobre estas opciones de personalización se pueden encontrar al final de esta guía.
Código de Arduino Nano ESP32 - Leer valor del pin AO
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Upload en Arduino IDE para subir el código al Arduino Nano ESP32
- Cubre y descubre el módulo sensor de luz LDR con tu mano o con algo
- Consulta el resultado en el Monitor Serial.
※ Nota:
Este tutorial utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico-Digital) conectado a un sensor o componente. El ADC del Arduino Nano ESP32 es adecuado para proyectos que no requieren alta precisión. Sin embargo, para proyectos que exigen mediciones precisas, tenga en cuenta lo siguiente:
- El ADC del Arduino Nano ESP32 no es perfectamente exacto y podría requerir calibración para obtener resultados correctos. Cada placa Arduino Nano ESP32 puede variar ligeramente, por lo que la calibración es necesaria para cada placa individual.
- La calibración puede ser desafiante, especialmente para principiantes, y puede que no siempre arroje los resultados exactos que deseas.
Para proyectos que requieren alta precisión, considera usar un ADC externo (p. ej. ADS1115) con el Arduino Nano ESP32 o usar otro Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más fiable. Si todavía quieres calibrar el ADC del Arduino Nano ESP32, consulta el ESP32 ADC Calibration Driver.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.