Algumas partes deste site ainda não estão disponíveis no seu idioma. Estamos trabalhando para corrigir isso e pedimos desculpas por qualquer inconveniente.
Tutorial ESP32 54/55 - Defina a Cor da Fita de LED WS2812 via Wifi | Kit de Aprendizado IoT ESP32 da SunFounder
Neste tutorial, aprenderemos como controlar a cor de uma fita de LED RGB WS2812 usando um microcontrolador ESP32 via Wi-Fi. Ao utilizar um seletor de cores, você pode escolher diferentes cores do seu dispositivo móvel ou desktop e enviar essas informações para a fita de LED. Este projeto demonstra as capacidades do ESP32, permitindo uma interação fluida com a iluminação LED através de uma interface web.
ESP32-54-tela-móvel-principal
O microcontrolador ESP32 é equipado com Wi-Fi e Bluetooth, tornando-o uma escolha versátil para aplicações IoT. Neste projeto, vamos nos concentrar na funcionalidade do Wi-Fi para controlar a fita de LED. Os usuários poderão escolher cores dinamicamente, criando uma experiência visualmente envolvente. Para mais clareza sobre este projeto, não deixe de conferir o vídeo (no vídeo em 00:00).
Hardware Explicado
Os componentes principais deste projeto incluem o microcontrolador ESP32 e a fita de LED WS2812. O ESP32 é um microcontrolador poderoso com capacidades de Wi-Fi integradas, permitindo comunicação e controle sem fio.
A fita LED WS2812 consiste em LEDs RGB endereçáveis individualmente, permitindo que você defina a cor de cada LED de forma independente. Cada LED incorpora um circuito de controle e um LED RGB dentro de um único pacote, o que simplifica a fiação e o controle de múltiplos LEDs.
Detalhes da Ficha Técnica
Fabricante
Worldsemi
Número da peça
WS2812B
Tensão de lógica/entrada e saída
3,5-5,3 V
Tensão de alimentação
5 V
Corrente de saída (por canal)
20 mA
Corrente de pico (por canal)
60 mA
Orientação sobre a frequência PWM
400 Hz
Lugares de limiar lógico de entrada
0,3 × VDD (baixo), 0,7 × VDD (alto)
Queda de tensão / RDS(on)/ saturação
0,5 V
Limites térmicos
-40 a +80 °C
Pacote
5050 SMD
Notas / variantes
Disponível em vários comprimentos e configurações.
Garanta uma alimentação elétrica adequada para evitar danos aos LEDs.
Use um terra comum entre o ESP32 e a fita de LED.
Mantenha as linhas de dados curtas para evitar a degradação do sinal.
Considere adicionar um capacitor (1000 µF) entre a fonte de alimentação para estabilidade.
Use um resistor (470 Ω) na linha de dados para integridade do sinal.
Instruções de Fiação
ESP32-12-WS2812-wiring
Para conectar o ESP32 à fita de LED WS2812, conecte os componentes da seguinte forma: Primeiro, conecte o pino de 5V da fita de LED à saída de 5V do ESP32. Em seguida, conecte o pino de terra (GND) da fita de LED a um pino GND no ESP32. Por fim, conecte o pino de dados da fita de LED (geralmente rotulado como DI ou Data In) ao pino GPIO 13 no ESP32. Certifique-se de que todas as conexões estejam seguras para garantir o funcionamento adequado.
No vídeo, métodos alternativos de fiação são brevemente mencionados, mas a configuração descrita aqui é a configuração recomendada para desempenho ideal (no vídeo às 03:00).
Exemplos de Código e Passo a Passo
O código começa incluindo as bibliotecas necessárias para controlar a fita de LED WS2812 e configurar o servidor web. O pino do LED é definido comoLED_PINe o número de LEDs na fita é definido comNUM_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 trecho inicializa a biblioteca NeoPixel e configura a fita de LED no pino especificado.Adafruit_NeoPixelobjeto,strip, é o que você usará para controlar as cores do LED.
Em seguida, o código inicializa o Wi-Fi e configura um servidor web para gerenciar solicitações recebidas. O SSID e a senha da rede são definidos, permitindo que o ESP32 se conecte ao Wi-Fi.
Neste excerto, substituayour_SSIDeyour_PASSWORDcom suas credenciais de Wi-Fi atuais. Essa conexão permite que o ESP32 se comunique com dispositivos na mesma rede, possibilitando o controle remoto da fita de LED.
A função principal para mudar a cor do LED ésetColor(), que itera por cada LED e define sua cor com base nos valores RGB selecionados.
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 função garante que cada LED na fita seja atualizado com a cor selecionada. O atraso permite que os LEDs mudem de cor suavemente. À medida que você interage com a interface web, esta função será chamada para refletir suas escolhas de cor.
Demonstração / O que Esperar
ESP32-54-tela-móvel-1ESP32-54-tela-móvel-t-2
Quando a configuração estiver concluída, você deverá conseguir acessar a interface da web pelo endereço IP do ESP32. Você verá um seletor de cores que permite escolher qualquer cor, que será então enviada para a fita de LED. Se o ESP32 perder a conexão Wi-Fi, a fita irá piscar uma cor de alerta, indicando o problema (no vídeo às 14:30).
Os erros comuns incluem ligações incorretas, que podem fazer com que os LEDs não acendam, ou o uso de combinações incorretas de SSID/senha que impedem o ESP32 de se conectar à rede. Sempre verifique suas conexões e credenciais.
Marcação de tempo do vídeo
00:00 Iniciar
2:01 Introdução ao projeto
3:09 Docs
3:47 Explicação da cor RGB
7:47 Fiação
Código Arduino para WS2812 com WIFI explicado às 8:40
19:35 Selecionando a placa ESP32 e a porta COM no Arduino IDE
21:17 Demonstração de controle de fita de LED via wifi
Imagens
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