ESP8266 - Sensor de movimiento - Tira de LEDs

Este tutorial le enseña a crear un sistema de automatización de iluminación sin fisuras usando un ESP8266, un sensor de movimiento HC-SR501 y una tira de LEDs. Diseñado para activar la tira de LEDs al detectar la presencia humana, este versátil sistema es adecuado para una variedad de aplicaciones, incluyendo:

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 Movimiento HC-SR501
1×DotStar RGB Tira LED
1×Adaptador de Corriente 5V
1×Conector de Alimentación DC
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.

Acerca de la tira de LEDs y el sensor de movimiento

Si no conoces la tira de LEDs y el sensor de movimiento (disposición de pines, cómo funciona, cómo programar ...), infórmate sobre ellos en los siguientes tutoriales:

Tienes la flexibilidad de usar cualquiera de tiras LED NeoPixel, WS2812B o DotStar. Para simplificar el cableado, este tutorial utiliza específicamente la tira LED DotStar. Adaptar el código para otros tipos de tiras LED es sencillo; simplemente consulta los tutoriales anteriores para obtener orientación.

Diagrama de Cableado

Diagrama de cableado del sensor de movimiento ESP8266 NodeMCU para tira de LED

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.

Configuración inicial

Time Delay AdjusterScrew it in anti-clockwise direction fully.
Detection Range AdjusterScrew it in clockwise direction fully.
Repeat Trigger SelectorPut jumper as shown on the image.
Configuración inicial del sensor de movimiento ESP8266 NodeMCU

Código ESP8266 - Sensor de movimiento controla la tira de LEDs

/* * 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-motion-sensor-led-strip */ #include <Adafruit_DotStar.h> #define NUMPIXELS 144 // Number of LEDs in DotStar strip #define DOTSTAR_DATA_PIN D6 // The ESP8266 pin D6 #define DOTSTAR_CLOCK_PIN D5 // The ESP8266 pin D5 #define MOTION_SENSOR_PIN D1 // The ESP8266 pin connected to the OUTPUT pin of motion sensor int motion_state = LOW; // current state of motion sensor's pin int prev_motion_state = LOW; // previous state of motion sensor's pin Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_DATA_PIN, DOTSTAR_CLOCK_PIN, DOTSTAR_BRG); void setup() { Serial.begin(9600); strip.begin(); // Initialize NeoPixel strip object (REQUIRED) strip.show(); // Turn OFF all pixels ASAP strip.setBrightness(255); pinMode(MOTION_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode } void loop() { prev_motion_state = motion_state; // store old state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (prev_motion_state == LOW && motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); // turn on the led strip for (int pixel = 0; pixel < NUMPIXELS; pixel++) { // red color int r = 255; // CHANGE COLOR AS YOUR DESIRE int g = 255; // CHANGE COLOR AS YOUR DESIRE int b = 0; // CHANGE COLOR AS YOUR DESIRE strip.setPixelColor(pixel, g, r, b); // set color for each pixel } strip.show(); } else if (prev_motion_state == HIGH && motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); strip.clear(); // turn off all pixel on LED strip strip.show(); } }

Pasos R\u00e1pidos

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

  • Consulta el tutorial [cómo configurar el entorno para ESP8266 en Arduino IDE] si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora usando un cable USB.
  • Abre el IDE de Arduino en tu computadora.
  • Selecciona la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM correspondiente.
  • Conecta ESP8266 al PC mediante un cable USB.
  • Abre el IDE de Arduino, selecciona la placa y el puerto correctos.
  • Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “Adafruit DotStar”, luego encuentra la biblioteca DotStar de Adafruit.
  • Haz clic en el botón Instalar para instalar la biblioteca DotStar.
Biblioteca DotStar para ESP8266 NodeMCU
  • Se le pedirá que instale la dependencia. Haga clic en el botón Instalar todo.
Biblioteca DotStar para ESP8266 NodeMCU
  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Cargar en Arduino IDE para subir el código al ESP8266
  • Mueve tu mano frente al sensor
  • Observa la tira de LEDs

Puedes modificar el código para añadir un efecto de iluminación.

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!