ESP32 - Sensor de luz
Este tutorial te explica cómo usar ESP32 con el sensor de luz. En detalle, aprenderemos:
- Cómo funciona un sensor de luz.
- Cómo conectar un sensor de luz al ESP32.
- Cómo programar el ESP32 para leer el valor de un sensor de luz.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
El sensor de luz LDR es muy asequible, pero requiere una resistencia para el cableado, lo que puede hacer que la instalación sea más compleja. Para simplificar el cableado, puedes usar un módulo de sensor de luz LDR como alternativa.
Acerca del sensor de luz
El sensor de luz más utilizado es una fotocélula (también conocida como fotocélula, o resistencia dependiente de la luz, LDR).
Puede usarse para detectar la presencia de la luz. También puede usarse para medir el nivel de iluminancia o brillo de la luz.
Esquema de pines del sensor de luz
Un sensor de luz tiene dos pines. Al igual que una resistencia normal, no es necesario distinguir estos pines.

Cómo funciona un sensor de luz
La resistencia de la fotorresistencia es inversamente proporcional a la intensidad de la luz. Mientras menos luz incide sobre la fotorresistencia, mayor es su resistencia. Por lo tanto, podemos inferir cuán brillante es la luz ambiental midiendo la resistencia de la fotorresistencia.

WARNING
El valor medido por la fotorresistencia refleja la tendencia aproximada de la intensidad de la luz; no representa exactamente el flujo luminoso. Por lo tanto, la fotorresistencia no debe usarse en una aplicación que requiera alta precisión. La calibración también es necesaria para algún tipo de aplicación.
ESP32 - Sensor de Luz
El pin de entrada analógica del ESP32 convierte el voltaje (entre 0 V y ADC_VREF, por defecto 3.3 V) en valores enteros (entre 0 y 4095), llamado valor analógico o valor ADC. Al conectar un pin de entrada analógica del ESP32 a la fotoresistencia, podemos leer el valor analógico utilizando la función analogRead().
Diagrama de cableado entre el sensor de luz y el ESP32

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
Código ESP32
El código ESP32 que se muestra a continuación lee el valor de un sensor de luz e infiere el nivel de luz.
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Copia el código anterior y pégalo en Arduino IDE.
- Compila y carga el código en la placa ESP32 haciendo clic en el botón Subir en Arduino IDE
- Abre el Monitor serie en Arduino IDE

- Emite luz al sensor
- Ve el resultado en el Monitor Serial. Se ve como lo que se muestra a continuación:
Sensor de luz y LED
Diagrama de cableado

This image is created using Fritzing. Click to enlarge image
Código ESP32
El código siguiente enciende el LED si está oscuro; de lo contrario, apaga el LED.
※ Nota:
Este tutorial utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico a Digital) conectado a un sensor de luz. El ADC del ESP32 es bueno para proyectos que NO requieren alta precisión. Sin embargo, para proyectos que necesitan mediciones precisas, tenga en cuenta:
- El ADC del ESP32 no es perfectamente preciso y podría necesitar calibración para obtener resultados correctos. Cada placa ESP32 puede ser un poco diferente, por lo que debes calibrar el ADC para cada placa individual.
- La calibración puede ser difícil, especialmente para principiantes, y podría no dar siempre los resultados exactos que deseas.
Para proyectos que requieren alta precisión, considera usar un ADC externo (p. ej. ADS1115) con el ESP32 o usar un Arduino, que tiene un ADC más fiable. Si aún deseas calibrar el ADC del ESP32, consulta al Controlador de Calibración del ADC del ESP32
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.