ESP32 - tira de LEDs WS2812B
En este tutorial, vamos a aprender cómo usar ESP32 para controlar una tira de LEDs RGB WS2812B. Con un solo pin del ESP32:
- El ESP32 puede controlar el color de cada LED en la tira de LEDs de forma individual
- El ESP32 puede cambiar el brillo de cada LED en la tira de LEDs de forma individual
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de la tira de LEDs RGB WS2812B
Diagrama de pines
La tira de LEDs RGB WS2812B tiene tres pines:
- Pin GND: debe conectarse a GND (0 V)
- Pin VCC: debe conectarse a 5 V de una fuente de alimentación externa
- Pin Din: es el pin que recibe la señal de control. Debe estar conectado a un pin del ESP32.
※ Nota:
El orden de los pines puede variar entre fabricantes. SIEMPRE UTILIZA las etiquetas impresas en la tira LED.
Diagrama de Cableado

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.
Cómo programar para la tira de LEDs RGB WS2812B
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduini IDE.
Hay dos bibliotecas que se pueden usar para controlar la tira de LEDs WS2812B:
- Biblioteca Adafruit NeoPixel.
- Biblioteca FastLED.
Este tutorial utilizará la biblioteca Adafruit NeoPixel.
- Declara un objeto WS2812B
- Inicializa el WS2812B
- Establece el color de cada LED individual (llamado píxel).
- Ajustar el brillo de todas las tiras.
※ Nota:
- WS2812B.setBrightness() se utiliza para todos los píxeles de la tira de LEDs. Para ajustar el brillo de cada píxel individual, podemos escalar el valor de color.
- Los valores establecidos por WS2812B.setBrightness() y WS2812B.setPixelColor() solo tienen efecto cuando se llama a WS2812B.show().
Código ESP32
Lo que hace el código de abajo es:
- Pon los píxeles en verde uno por uno con un retardo entre cada píxel
- Apaga todos los píxeles durante dos segundos
- Enciende todos los píxeles en rojo al mismo tiempo durante dos segundos
- Repite el proceso anterior indefinidamente
Pasos R\u00e1pidos
- Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “Adafruit NeoPixel”, luego encuentra la biblioteca WS2812B de Adafruit
- Haz clic en el botón Instalar para instalar la biblioteca NeoPixel.
- Copie el código anterior y ábralo con Arduini IDE
- Haga clic en el botón Subir en Arduini IDE para subir el código al ESP32
- Vea el efecto LED
※ Nota:
Para cualquier efecto LED complejo, ofrecemos el servicio de programación remunerado
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.