ESP32 - Sensor de luz que activa el relé
Este tutorial te enseña cómo usar ESP32, un sensor de luz y un relé para hacer un proyecto que:
- Enciende el relé si el valor analógico medido por el sensor de luz está por debajo de un umbral,
- Apaga el relé si el valor analógico medido por el sensor de luz está por encima de un umbral,
Podemos ampliar este tutorial para encender automáticamente una tira de LED o una bombilla cuando esté oscuro.
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 de Relé y Sensor de Luz
Tenemos tutoriales específicos sobre el relé y el sensor de luz. Cada tutorial contiene información detallada e instrucciones paso a paso sobre la disposición de pines de hardware, el principio de funcionamiento, la conexión de cableado al ESP32 y el código para ESP32... Obtén más información sobre ellos en los siguientes enlaces:
Diagrama de Cableado

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
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Realiza el cableado como en la imagen de arriba.
- Conecta la placa ESP32 a tu PC mediante un cable micro USB.
- Abre Arduino IDE en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
- Copia el código anterior y pégalo en Arduino IDE.
- Compila y sube el código a la placa ESP32 haciendo clic en el botón Subir en Arduino IDE.

- Emite luz al sensor
- Observa el cambio en el estado del relé
Explicación del código línea por línea
El código ESP32 anterior contiene una explicación línea por línea. Por favor, lea los comentarios del código.
※ 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 adecuado para proyectos que NO requieren alta precisión. Sin embargo, para proyectos que requieren 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, así que debe calibrar el ADC para cada placa individual.
- La calibración puede ser difícil, especialmente para principiantes, y podría no siempre dar los resultados exactos que desea.
Para proyectos que requieren alta precisión, considere usar un ADC externo (p. ej. ADS1115) con el ESP32 o usar un Arduino, que tiene un ADC más fiable. Si aún desea calibrar el ADC del ESP32, consulte 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.