ESP8266 - LED de sensor de luz

Este tutorial te enseña cómo usar el ESP8266 y un sensor de luz para encender un LED. En detalle:

El sensor de luz también es conocido como fotorresistencia, resistencia dependiente de la luz, fotocélula, LDR. El ESP8266 utiliza un sensor de luz para medir el nivel de luz ambiental. Si el entorno es tenue, el ESP8266 enciende el LED, y si está brillante, el LED se apaga.

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Sensor de Luz
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×10 kΩ Resistor
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.

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 LED y Sensor de Luz

Si no estás familiarizado con el LED y el sensor de luz (incluido el pinout, cómo funciona y cómo programarlo), los siguientes tutoriales pueden ayudar:

Diagrama de Cableado

Diagrama de cableado LED para sensor de luz ESP8266 NodeMCU

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

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-light-sensor-led */ #define LIGHT_SENSOR_PIN A0 // The ESP8266 pin connected to light sensor #define LED_PIN D8 // The ESP8266 pin connected to LED #define ANALOG_THRESHOLD 500 void setup() { pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode } void loop() { int analog_value = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analog_value < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial sobre cómo configurar el entorno para ESP8266 en Arduino IDE 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 usando un cable USB.
  • Abre Arduino IDE en tu computadora.
  • Elige la placa ESP8266 correcta, por ejemplo (NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
  • Conecta el cable USB al ESP8266 y a la PC.
  • Inicia Arduino IDE, selecciona la placa y el puerto correctos.
  • Copia el código y ábrelo en Arduino IDE.
  • Haz clic en el botón Subir en Arduino IDE para compilar y subir el código al ESP8266.
Subir código al IDE de Arduino
  • Emite una fuente de luz hacia el sensor
  • Verifica el estado del LED

Explicación del código

¡Consulta la explicación línea por línea que se encuentra en los comentarios del código fuente!

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.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!