ESP8266 - Sensor de Luz
Este tutorial le enseña cómo usar el sensor de luz con ESP8266. En detalle:
- Cómo funciona un sensor de luz
- Cómo conectar un sensor de luz a un ESP8266
- Cómo programar un ESP8266 para leer el valor del sensor de luz
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
El sensor de luz LDR (LINK_MAIN_LIGHT_SENSOR) es muy asequible, pero requiere una resistencia para el cableado, lo que puede hacer que la configuració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 utilizado en este tutorial es una fotorresistencia, también conocida como resistencia dependiente de la luz, LDR, o fotocélula.
No solo se utiliza para detectar la luz, sino también para medir la intensidad de la luz circundante.
El pinout del sensor de luz
Una fotoresistencia tiene dos pines que no es necesario distinguir entre sí, ya que es un tipo de resistencia y, por lo tanto, los pines son simétricos.

Cómo funciona
La cantidad de luz a la que está expuesta la superficie de la fotorresistencia afecta su resistencia. Midiendo esta resistencia, podemos determinar la intensidad de la luz ambiental.

WARNING
El valor del sensor de luz solo ofrece una indicación aproximada de la intensidad de la luz, no una medida precisa del flujo luminoso. En consecuencia, no debe utilizarse para aplicaciones que necesiten un alto grado de precisión.
ESP8266 - Sensor de Luz
Los pines analógicos del ESP8266 pueden usarse como entradas analógicas. Estos pines de entrada analógica convierten el voltaje (que va desde 0 voltios hasta VCC) en valores enteros (que van de 0 a 1023), conocidos como valor ADC o valor analógico.
Conecta una de las patas de la fotorresistencia a un pin de entrada analógico. Usando la función analogRead(), lee el valor analógico del pin. Esto nos permitirá determinar los niveles de luz de forma relativa.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.
Código ESP8266
El código a continuación lee el valor de la fotocélula y determina cualitativamente el nivel de luz.
Pasos R\u00e1pidos
Para empezar con ESP8266 en Arduino IDE, siga estos pasos:
- Consulta el cómo configurar el entorno para ESP8266 en Arduino IDE tutorial si es la primera vez que usas ESP8266.
- Conecta los componentes tal como se muestra en el diagrama.
- Conecta la placa ESP8266 a tu computadora con un cable USB.
- Abre Arduino IDE en tu computadora.
- Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
- Copia el código y ábrelo con el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para compilar y subir el código al ESP8266.
- Abre el Monitor Serial.
- Ilumina el sensor.
- Revisa el resultado en el Monitor Serial.
Sensor de luz y LED
- Cuando el entorno está oscuro, el código activará el LED; de lo contrario, lo desactivará.
- El diagrama de cableado para el código anterior.

This image is created using Fritzing. Click to enlarge image
※ Nota:
Este tutorial utiliza la función analogRead() para obtener datos de un ADC (Convertidor Analógico-Digital) que está conectado a un sensor o otra parte. El ADC del ESP8266 funciona bien para proyectos en los que no se requieren lecturas muy precisas. Pero recuerda, el ADC del ESP8266 no es muy preciso para mediciones detalladas. Si tu proyecto necesita ser muy preciso, quizá quieras usar un ADC separated como el ADS1115 con el ESP8266, o usar Arduino como el Arduino Uno R4 WiFi, que tiene un ADC más fiable.
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.
Rétate a ti mismo
- Cuando la luz de tu habitación esté tenue, actívala automáticamente.
- Consulte ESP8266 - Relé para obtener instrucciones sobre cómo hacer esto.