Algunas partes de este sitio web aún no están disponibles en su idioma. Estamos trabajando para solucionar esto y nos disculpamos por cualquier inconveniente.
Tutorial ESP32 47/55 - CheerLights WS2812 usando MQTT a través de Internet | Kit IoT ESP32 de SunFounder
En este tutorial, crearemos un sistema de iluminación sincronizado utilizando el ESP32 y LEDs WS2812 que puede ser controlado de forma remota a través de MQTT. Este sistema permite a múltiples usuarios cambiar el color de las luces simultáneamente, creando una experiencia conectada independientemente de la ubicación. El proyecto utiliza el kit IoT SunFounder ESP32, que incluye un potente microcontrolador con capacidades Wi-Fi, lo que lo hace ideal para aplicaciones IoT.
WS2812_strip.ENCENDIDO
A lo largo del video, explicaremos la configuración necesaria, el cableado y la implementación del código para lograr este efecto. Si necesitas más aclaraciones, asegúrate de revisar el video en momentos específicos (en el video en mm:ss).
Hardware Explicado
Los componentes principales de este proyecto incluyen el microcontrolador ESP32, la tira de LED WS2812 y un broker MQTT. El ESP32 es un microcontrolador versátil con capacidades de Wi-Fi y Bluetooth integradas, lo que le permite conectarse a Internet fácilmente. Sirve como el cerebro de nuestro proyecto, manejando la comunicación y controlando la tira de LED.
La tira LED WS2812 consiste en LEDs RGB direccionales individualmente, que se pueden controlar para mostrar una amplia gama de colores. Cada LED se puede encender o apagar y ajustar a cualquier color utilizando una única línea de datos, lo que la hace perfecta para efectos de iluminación dinámicos. El broker MQTT facilita la comunicación entre diferentes clientes, permitiendo a los usuarios publicar y suscribirse a temas que controlan los colores de los LED.
Detalles de la hoja de datos
Fabricante
Adafruit
Número de parte
WS2812B
Voltaje de lógica/IO
3.5 - 5.5 V
Tensión de alimentación
5 V
Corriente de salida (por canal)
20 mA
Corriente de pico (por canal)
60 mA
Orientación sobre la frecuencia PWM
400 Hz
Umbral de lógica de entrada
0.2Vcc (bajo), 0.7Vcc (alto)
Caída de voltaje / RDS(on)/ saturación
0.5 V
Límites térmicos
Temperatura de operación: -25 a 85 °C
Paquete
Individual 5050 SMD
Notas / variantes
Disponible en varias longitudes y configuraciones.
Asegúrate de proporcionar una fuente de alimentación adecuada para la tira WS2812 para evitar caídas de voltaje.
Utiliza un punto en común entre el ESP32 y la tira de LED.
Mantenga las líneas de datos cortas para evitar la degradación de la señal.
Considera utilizar un condensador (1000μF) en paralelo con la fuente de alimentación para suavizar los picos de voltaje.
Utilice resistencias apropiadas en la línea de datos para prevenir la reflexión de la señal.
Ten en cuenta el consumo total de corriente de la tira de LED; usa alimentación externa cuando sea necesario.
Instrucciones de cableado
Para conectar el ESP32 con la tira de LED WS2812, comienza conectando la fuente de alimentación. Conecta el cable rojo de la tira de LED a una fuente de 5V y el cable negro a tierra. A continuación, conecta la línea de datos (cable amarillo) de la tira WS2812 al pin 14 en el ESP32. Asegúrate de que el ESP32 también esté conectado a la misma tierra que la tira de LED para mantener una referencia común.
Después de configurar las conexiones de energía y datos, conecta el ESP32 a tu computadora utilizando un cable micro USB para la programación. Necesitarás asegurarte de que el ESP32 esté encendido mientras programas para establecer una conexión. Una vez cableado, puedes proceder a subir el código y probar la configuración.
esp32-47-cheer-light-wiring
Ejemplos de código y guía paso a paso
El código comienza incluyendo las bibliotecas necesarias para la funcionalidad de Wi-Fi y MQTT. Los identificadoresssidypasswordse utilizan para almacenar tus credenciales de Wi-Fi, mientrasmqtt_servermantiene la dirección del broker MQTT.
A continuación, definimos los colores de CheerLights admitidos y sus valores RGB correspondientes utilizando arreglos. Esto permite que el programa acceda fácilmente a la configuración de colores según la entrada del usuario.
El bucle principal verifica continuamente la conexión MQTT y procesa los mensajes entrantes que controlan los colores del LED. Elcallback()la función se activa cuando se recibe un mensaje en el tema suscrito.
Demostración / Qué Esperar
Una vez que todo esté configurado y el código esté cargado, deberías poder cambiar el color de los LEDs WS2812 enviando mensajes al tema MQTT. Si otro usuario cambia el color, todos los dispositivos conectados reflejarán el cambio simultáneamente. Ten cuidado con posibles problemas como polaridad invertida o conexiones inadecuadas, que podrían evitar que los LEDs funcionen correctamente (en el video a mm:ss).
Sellos de tiempo del video
00:00 Comenzar
2:00 Introducción
3:48 Página de documentación
6:33 Explicación del cableado
7:35 Código de Arduino explicado
15:03 Seleccionando la placa ESP32 y el puerto COMP en Arduino IDE
16:46 Demostración de CheerLights
Imágenes
WS2812_strip.ON
esp32-47-cheer-light-wiring
WS2812_strip.ON
esp32-47-cheer-light-wiring
848-ESP32 Tutorial 47/55- Arduino code for cheer light