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 54/55 - Establecer el color de la tira de LED WS2812 a través de Wifi | Kit de aprendizaje IoT ESP32 de SunFounder
En este tutorial, aprenderemos cómo controlar el color de una tira de LED RGB WS2812 utilizando un microcontrolador ESP32 a través de Wi-Fi. Al utilizar un selector de colores, puedes elegir diferentes colores desde tu dispositivo móvil o de escritorio y enviar esa información a la tira de LED. Este proyecto muestra las capacidades del ESP32, permitiendo una interacción fluida con la iluminación LED a través de una interfaz web.
ESP32-54-pantalla-móvil-principal
El microcontrolador ESP32 está equipado con Wi-Fi y Bluetooth, lo que lo convierte en una opción versátil para aplicaciones de IoT. En este proyecto, nos centraremos en la funcionalidad de Wi-Fi para controlar la tira de LED. Los usuarios podrán elegir colores de manera dinámica, creando una experiencia visualmente atractiva. Para mayor claridad sobre este proyecto, asegúrate de ver el video en (en video en 00:00).
Hardware Explicado
Los componentes principales para este proyecto incluyen el microcontrolador ESP32 y la tira de LED WS2812. El ESP32 es un microcontrolador potente con capacidades de Wi-Fi incorporadas, lo que permite la comunicación y el control inalámbricos.
La tira de LED WS2812 consta de LEDs RGB direccionales individualmente, lo que te permite establecer el color de cada LED de forma independiente. Cada LED incorpora un circuito de control y un LED RGB dentro de un solo paquete, lo que simplifica el cableado y control de múltiples LEDs.
Detalles de la hoja de datos
Fabricante
Worldsemi
Número de pieza
WS2812B
Voltaje de lógica/IO
3.5-5.3 V
Tensión de alimentación
5 V
Corriente de salida (por canal)
20 mA
Corriente máxima (por canal)
60 mA
Orientación sobre la frecuencia PWM
400 Hz
Umbrales de lógica de entrada
0.3 × VDD (bajo), 0.7 × VDD (alto)
Caída de tensión / RDS(on)saturación
0.5 V
Límites térmicos
-40 a +80 °C
Paquete
5050 SMD
Notas / variantes
Disponible en varias longitudes y configuraciones.
Asegúrese de proporcionar una fuente de alimentación adecuada para evitar dañar los LEDs.
Utiliza un punto 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 añadir un condensador (1000 µF) en paralelo con la fuente de alimentación para estabilidad.
Utiliza una resistencia (470 Ω) en la línea de datos para la integridad de la señal.
Instrucciones de cableado
ESP32-12-WS2812-wiring
Para cablear el ESP32 a la tira de LED WS2812, conecta los componentes de la siguiente manera: Primero, conecta el pin de 5V de la tira de LED a la salida de 5V del ESP32. A continuación, conecta el pin de tierra (GND) de la tira de LED a un pin de GND en el ESP32. Finalmente, conecta el pin de datos de la tira de LED (normalmente etiquetado como DI o Data In) al pin GPIO 13 del ESP32. Asegúrate de que todas las conexiones estén seguras para garantizar un funcionamiento adecuado.
En el video, se mencionan brevemente métodos de cableado alternativos, pero la configuración descrita aquí es la configuración recomendada para un rendimiento óptimo (en el video a las 03:00).
Ejemplos de código y guía paso a paso
El código comienza incluyendo las bibliotecas necesarias para controlar la tira de LED WS2812 y configurar el servidor web. El pin de LED se define comoLED_PINy el número de LEDs en la tira se establece conNUM_LEDS.
#define LED_PIN 13 // NeoPixel LED strip
#define NUM_LEDS 8 // Number of LEDs
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
Este fragmento inicializa la biblioteca NeoPixel y configura la tira de LED en el pin especificado.Adafruit_NeoPixelobjeto,strip, es lo que usarás para controlar los colores del LED.
A continuación, el código inicializa Wi-Fi y configura un servidor web para manejar las solicitudes entrantes. Se definen el SSID y la contraseña de la red, lo que permite que el ESP32 se conecte a Wi-Fi.
En este extracto, reemplazayour_SSIDyyour_PASSWORDcon tus credenciales de Wi-Fi actuales. Esta conexión permite que el ESP32 se comunique con dispositivos en la misma red, lo que permite el control remoto de la tira de LED.
La función principal para cambiar el color del LED essetColor(), que itera a través de cada LED y establece su color según los valores RGB seleccionados.
void setColor() {
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, valueR, valueG, valueB); // Set the color of the i-th LED
strip.show(); // Update the LED strip with the new colors
delay(10); // Wait for 10 milliseconds
}
}
Esta función garantiza que cada LED en la tira se actualice con el color seleccionado. El retardo permite que los LED cambien de color de manera suave. A medida que interactúas con la interfaz web, se llamará a esta función para reflejar tus elecciones de color.
Cuando la configuración esté completa, deberías poder acceder a la interfaz web a través de la dirección IP del ESP32. Verás un selector de color que te permitirá elegir cualquier color, que luego se enviará a la tira de LED. Si el ESP32 pierde la conexión Wi-Fi, la tira parpadeará con un color de advertencia, indicando el problema (en el video a las 14:30).
Las trampas comunes incluyen el cableado incorrecto, lo que puede llevar a que los LED no se enciendan, o el uso de combinaciones incorrectas de SSID/contraseña que impiden que el ESP32 se conecte a la red. Siempre verifica tus conexiones y credenciales.
Horarios de video
00:00 Comenzar
2:01 Introducción al proyecto
3:09 Docs
3:47 Explicación del color RGB
7:47 Cableado
8:40 Código de Arduino para WS2812 con WIFI explicado
19:35 Seleccionando la placa ESP32 y el puerto COM en Arduino IDE
21:17 Demostración de control de tira LED a través de wifi
Imágenes
ESP32-12-WS2812-wiring
ESP32-54-movile-screen-1
ESP32-54-movile-screen-t-2
ESP32-54-movile-screen-main
ESP32-12-WS2812-wiring
ESP32-54-movile-screen-1
ESP32-54-movile-screen-t-2
ESP32-54-movile-screen-main
855-ESP32 Tutorial 54/55- Arduino code Set WS2812 LED Strip Color over Wifi