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 52/55 - Sincronização Global WS2812 CheerLights MQTT com LCD | Kit IoT SunFounder ESP32
Neste tutorial, criaremos um projeto CheerLights usando o ESP32, que irá sincronizar cores globalmente através do MQTT. Este projeto não apenas mudará de cor com base nas entradas de outros usuários, mas também exibirá a cor atual e quantas vezes foi atualizada em uma tela LCD. O resultado é uma demonstração divertida das capacidades de IoT, mostrando como os dispositivos podem interagir e manter os usuários conectados através de distâncias. Para esclarecimentos adicionais, assista ao vídeo (no vídeo em 00:00).
esp32-52-luz-anímica-lcd-principal
Hardware Explicado
Para construir este projeto, você precisará de um microcontrolador ESP32, uma fita de LED WS2812 e um display LCD. O ESP32 serve como o cérebro da operação, utilizando suas funcionalidades de Wi-Fi integradas para se conectar à internet e receber mensagens MQTT. Isso permite atualizações em tempo real nas cores dos LEDs com base em uma entrada global de outros usuários.
A fita LED WS2812 é uma escolha popular para projetos que exigem LEDs RGB endereçáveis. Cada LED pode ser controlado independentemente, permitindo exibições de cores ricas. O LCD fornecerá uma confirmação visual da cor atual e do número de vezes que foi alterada, melhorando a interação com o usuário.
cheeLights_LCD
Detalhes da Ficha Técnica
Fabricante
SunFounder
Número da peça
ESP32
Tensão de Lógica/IO
3,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
Limiares de lógica de entrada
0,15 V (baixo), 0,8 V (alto)
Queda de tensão / RDS(on)/ saturação
0,2 V
Limites térmicos
85 °C
Pacote
módulo ESP32
Notas / variantes
Inclui Wi-Fi e Bluetooth integrados.
Garanta um fornecimento de energia adequado para o ESP32 (5 V) e a fita WS2812 (5 V).
Use um terra comum entre o ESP32 e a fita de LED.
Implemente um broker MQTT apropriado para sincronização de cores.
Preste atenção à conexão do pino de dados para o WS2812 (pino 14 conforme o código).
Tenha cuidado com o número de LEDs; exceder os limites de potência requer fontes de energia adicionais.
Instruções de Fiação
ESP32-11_LCD-wiringesp32-47-cheer-light-wiring
Para conectar os componentes, comece ligando a fita de LED WS2812. Conecte o pino de terra (geralmente preto) da fita de LED ao pino de terra no ESP32. Em seguida, conecte o pino VCC (geralmente vermelho) da fita de LED à saída de 5V no ESP32. Por fim, conecte o pino de dados (frequentemente amarelo) ao pino GPIO 14 no ESP32.
Para o LCD, conecte o pino de terra (geralmente preto) ao terra do ESP32. O pino VCC (normalmente vermelho) deve ser conectado à saída de 5V. O pino SDA (tipicamente cinza) conecta-se ao pino GPIO 21, enquanto o pino SCL (geralmente branco) conecta-se ao pino GPIO 22. Esta configuração permite que o ESP32 se comunique com o LCD e exiba informações conforme necessário.
Exemplos de Código e Passo a Passo
Na função de configuração, inicializamos o LCD e conectamos ao Wi-Fi. O código abaixo demonstra como definir as bibliotecas necessárias e configurar o LCD:
#include
#include
LiquidCrystal_I2C lcd(0x27, 16,2); // set the LCD address
void setup() {
Serial.begin(115200);
lcd.init(); // initialize the lcd
lcd.backlight(); // Turns on the LCD backlight.
}
Isso inicializa o LCD para uso, permitindo que exiba mensagens. O próximo trecho mostra como a conexão Wi-Fi é estabelecida:
Esta função estabelece uma conexão com a rede Wi-Fi especificada, exibindo uma mensagem no LCD enquanto se conecta. Por fim, a lógica de mudança de cor é tratada na função de callback:
void callback(char* topic, byte* message, unsigned int length) {
String messageTemp;
for (int i = 0; i < length; i++) {
messageTemp += (char)message[i];
}
if (String(topic) == "cheerlights") {
setColor(messageTemp);
}
}
Esta função escuta por mensagens recebidas no tópico "cheerlights" e atualiza a cor de acordo. O código completo está carregado abaixo do artigo, então certifique-se de revisá-lo para a implementação completa.
Demonstração / O que Esperar
Após a conclusão do projeto, você pode esperar que a fita de LED mude de cores com base nas entradas de um feed MQTT global. O LCD exibirá o nome da cor atual e quantas vezes ela foi alterada. Se você desconectar a internet, o LCD indicará "Conectando..." até que uma conexão seja restabelecida (no vídeo às 12:30).
Erros comuns incluem garantir que os pinos corretos sejam usados para as conexões de dados e verificar se as credenciais do Wi-Fi estão corretas. Se houver qualquer discrepância no SSID ou na senha, o ESP32 não conseguirá se conectar, e o LCD continuará exibindo a mensagem de conexão.
Timestamps de Vídeo
00:00 Início
1:59 Introdução ao projeto
6:16 Fiação explicada
8:13 Código Arduino explicado
14:26 Selecionando a placa ESP32 e a porta COM no Arduino IDE