ESP32 - Fita LED WS2812B
Neste tutorial, vamos aprender como usar o ESP32 para controlar a fita LED RGB WS2812B. Com um único pino do ESP32:
- O ESP32 pode controlar a cor de cada LED da fita individualmente
- O ESP32 pode mudar o brilho de cada LED da fita individualmente
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Fita LED RGB WS2812B
Pinagem
A Fita LED RGB WS2812B tem três pinos:
- Pino GND: precisa ser conectado ao GND (0V)
- Pino VCC: precisa ser conectado ao 5V de uma fonte de alimentação externa
- Pino Din: é o pino que recebe o sinal de controle. Ele deve ser conectado a um pino do ESP32.
※ Nota:
A ordem dos pinos pode variar entre fabricantes. SEMPRE use as etiquetas impressas na Fita LED.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
Como Programar a Fita LED RGB WS2812B
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
Existem duas bibliotecas que podem ser usadas para controlar a fita LED WS2812B:
- Biblioteca Adafruit NeoPixel.
- Biblioteca FastLED.
Este tutorial vai usar a biblioteca Adafruit NeoPixel
- Declare um objeto WS2812B
- Inicialize o WS2812B
- Defina a cor de cada LED individual (chamado de pixel).
- Defina o brilho de toda a fita.
※ Nota:
- WS2812B.setBrightness() é usado para todos os pixels da fita LED. Para definir o brilho de cada pixel individualmente, podemos ajustar a escala do valor da cor.
- Os valores definidos por WS2812B.setBrightness() e WS2812B.setPixelColor() só têm efeito quando WS2812B.show() é chamado.
Código ESP32
O código abaixo faz o seguinte:
- Acende os pixels em verde, um por um, com um atraso entre cada pixel
- Desliga todos os pixels por dois segundos
- Acende todos os pixels em vermelho ao mesmo tempo por dois segundos
- Repete o processo acima infinitamente
Passos Rápidos
- Clique no ícone Libraries na barra lateral esquerda da Arduino IDE.
- Pesquise por “Adafruit NeoPixel” e depois encontre a biblioteca NeoPixel da Adafruit
- Clique no botão Install para instalar a biblioteca NeoPixel.
- Copie o código acima e abra-o na Arduino IDE
- Clique no botão Upload na Arduino IDE para carregar o código no ESP32
- Veja o efeito dos LEDs
※ Nota:
Para qualquer efeito de LED complicado, oferecemos o serviço de programação pago