ESP32 - Sensor de Movimiento - Tira de LEDs

Las instrucciones detalladas, el código, el diagrama de cableado, el tutorial en video y la explicación del código línea por línea se proporcionan para ayudarte a empezar rápidamente con ESP32.

Encuentra este y otros tutoriales de ESP32 en Newbiely.com.

En esta guía, nos adentraremos en la creación de un sistema de automatización de iluminación sin fisuras utilizando un ESP32, un sensor de movimiento HC-SR501 y una tira de LEDs. Este sistema está diseñado de manera experta para activar la tira de LEDs al detectar la presencia humana, lo que lo hace versátil y adecuado para una variedad de aplicaciones, incluyendo:

Acerca de la tira de LED y el sensor de movimiento

¿No estás familiarizado con las tiras LED y los sensores de movimiento, incluyendo sus pines, funcionamiento y programación? Explora tutoriales completos sobre estos temas a continuación:

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

Diagrama de Cableado

Diagrama de cableado para ESP32, sensor de movimiento y tira de LED

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.

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 del ESP32

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

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-motion-sensor-led-strip */ #include <Adafruit_DotStar.h> #define NUMPIXELS 144 // Number of LEDs in DotStar strip #define DOTSTAR_DATA_PIN 16 // The ESP32 pin GPIO16 connected to the data pin of DotStar #define DOTSTAR_CLOCK_PIN 17 // The ESP32 pin GPIO17 connected to the clock pin of DotStar #define MOTION_SENSOR_PIN 25 // The ESP32 pin GPIO25 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); // set ESP32 pin to 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 = 0; // 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

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Haz el cableado como en la imagen anterior.
  • Conecta la placa ESP32 a tu PC mediante un cable micro USB
  • Abre el IDE de Arduino en tu PC.
  • Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
  • Conecta la placa ESP32 al PC mediante un cable USB
  • Abre Arduino IDE, selecciona la placa y el puerto
  • Haz clic en el icono Bibliotecas en la barra izquierda del Arduino IDE.
  • Busca “Adafruit DotStar”, luego encuentra la biblioteca DotStar de Adafruit
  • Haz clic en el botón Instalar para instalar la biblioteca DotStar.
biblioteca ESP32 DotStar
  • Se le pedirá que instale la dependencia. Haga clic en el botón Instalar todo.
Librería DotStar para ESP32
  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Subir en el IDE de Arduino para cargar el código al ESP32
  • Pasa 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!