Tutorial ESP32 50/55 - Controle o LED RGB de qualquer lugar do mundo | Kit ESP32 da SunFounder

Tutorial ESP32 50/55 - Controle o LED RGB de qualquer lugar do mundo | Kit ESP32 da SunFounder

Neste tutorial, aprenderemos como controlar a cor de um LED RGB usando o microcontrolador ESP32 via Wi-Fi, utilizando o protocolo MQTT e o serviço Adafruit IO. Esta configuração permite que você mude a cor do LED RGB de qualquer lugar do mundo, oferecendo uma aplicação prática da tecnologia IoT. Também exploraremos como usar deslizadores e um seletor de cores para escolher a cor desejada.

esp32-50-RGB-led-mqtt-principal

O ESP32 é um microcontrolador poderoso que possui capacidades embutidas de Wi-Fi e Bluetooth, tornando-o ideal para projetos de IoT. Neste projeto, conectaremos um LED RGB ao ESP32 e controlaremos sua cor através de um broker MQTT fornecido pela Adafruit. O tutorial irá guiá-lo através da configuração de hardware, instruções de fiação e o código necessário para fazer tudo funcionar perfeitamente (no vídeo às :00).

Hardware Explicado

esp32-50-RGB-led
esp32-50-led-RGB

Para este projeto, os componentes principais que usaremos são o microcontrolador ESP32 e o LED RGB. O ESP32 é capaz de se conectar a redes Wi-Fi, permitindo que ele se comunique com o serviço Adafruit IO. O LED RGB contém três LEDs individuais (vermelho, verde e azul) que podem ser misturados para criar uma ampla variedade de cores.

O LED RGB opera com o princípio do ânodo comum ou do cátodo comum, o que significa que o ânodo (positivo) ou o cátodo (negativo) dos LEDs individuais devem ser conectados corretamente para que funcionem. Cada cor pode ser controlada usando Modulação por Largura de Pulso (PWM), que ajusta o brilho de cada LED variando o ciclo de trabalho.

ES32-38_RGB_LED-fiação

Detalhes da Ficha Técnica

Fabricante SunFounder
Número da peça LED RGB
Tensão de polarização (V)F) 2,0-3,4 V
Corrente de avanço (IF) 20 mA
Comprimento de onda de pico (nm) Vermelho: 620, Verde: 525, Azul: 465
Pacote Pino padrão de 4 pinos
Notas / variantes Opções de ânodo comum ou cátodo comum disponíveis

  • Use resistores de 220 ohms para cada cor de LED para limitar a corrente.
  • Assegure a fiação correta para configuração de ânodo ou cátodo comum.
  • Verifique a fonte de alimentação do ESP32 para evitar quedas de tensão.
  • Mantenha a frequência PWM dentro dos limites para transições de cor suaves.
  • Verifique se as credenciais do Wi-Fi estão corretas para se conectar ao serviço Adafruit IO.

Instruções de Fiação

ES32-38_RGB_LED-wiring

Para conectar o LED RGB ao ESP32, comece identificando os pinos do LED RGB. O pino mais longo é o pino comum. Para uma configuração de anodo comum, conecte este pino à fonte de tensão positiva (3,3V). Os outros três pinos correspondem aos LEDs vermelho, verde e azul. Conecte o pino vermelho ao GPIO 27, o pino verde ao GPIO 26 e o pino azul ao GPIO 25. Cada uma dessas conexões deve ser feita através de um resistor de 220 ohms para limitar a corrente que passa pelos LEDs.

Em seguida, conecte o terra (GND) do ESP32 ao fio de terra do seu circuito. Certifique-se de que a fiação esteja segura para evitar conexões intermitentes. Se estiver usando um LED RGB de cátodo comum, conecte o pino comum ao terra e conecte os pinos de cores individuais à fonte positiva através dos resistores. Verifique todas as conexões antes de energizar o circuito.

Exemplos de Código e Tutoriais

No código Arduino, começamos definindo os pinos para os LEDs vermelho, verde e azul usando os identificadores.redPin,greenPin, ebluePin. Além disso, definimos os canais PWM para cada cor usandoredChannel,greenChannel, eblueChannelA frequência PWM é definida como 5000 Hz com uma resolução de 8 bits.

const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;

const int redChannel = 0;
const int greenChannel = 1;
const int blueChannel = 2;

In thesetup()função, inicializamos os canais PWM e conectamos os pinos correspondentes. Também nos conectamos à rede Wi-Fi usando as credenciais definidas e configuramos o cliente MQTT para comunicação com o Adafruit IO.

void setup() {
  ledcSetup(redChannel, freq, resolution);
  ledcAttachPin(redPin, redChannel);
  // Connect to WiFi
  WiFi.begin(WLAN_SSID, WLAN_PASS);
}

O loop principal verifica a conexão MQTT e processa as mensagens recebidas. Ele também imprime os valores RGB atuais no monitor serial. A cor da LED é atualizada com base nos valores recebidos através das assinaturas MQTT.

void loop() {
  MQTT_connect();
  mqtt.processPackets(500);
  setColor();
}

Para mais detalhes sobre o código completo, consulte o código completo carregado abaixo do artigo.

Demonstração / O que Esperar

Uma vez que tudo esteja configurado e o código esteja carregado, você deve ver o LED RGB respondendo às mudanças de cor feitas através do painel do Adafruit IO. À medida que você ajusta os controles deslizantes para vermelho, verde e azul, o LED deve mudar sua cor de acordo. Se você tiver algum problema, certifique-se de que a conexão Wi-Fi esteja estável e que os nomes dos tópicos MQTT correspondam àqueles definidos no código (no vídeo às 17:30).

Os erros comuns incluem fiação incorreta, nomes de tópicos incompatíveis e esquecer de definir as credenciais corretas do Wi-Fi. Se o LED não acender, verifique novamente as conexões do resistor e certifique-se de que o ESP32 está alimentado corretamente.

Marcações de vídeo

  • 00:00 Início
  • 2:23 Introdução ao projeto
  • 4:43 O que é MQTT
  • 7:55 Configuração do Adafruit IO
  • 14:09 Fiação explicada
  • 16:07 Código explicado
  • 27:03 Selecionando a placa ESP32 e a porta COM no Arduino IDE
  • 29:12 Demonstração do projeto
  • O que é LED RGB?
  • 35:26 Cor RGB

Imagens

ESP32_rgb_pin
ESP32_rgb_pin
ESP32_RGB_led_wires
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
ES32-38_RGB_LED-wiring
esp32-50-RGB-led
esp32-50-RGB-led
esp32-50-RGB-led-mqtt-main
esp32-50-RGB-led-mqtt-main
852-ESP32 Tutorial 50/55- Arduino code to control RGB LED using MQTT service of Adafruit
Idioma: C++
Copiado!

Recursos e referências

Ainda não há recursos.

Arquivos📁

Nenhum arquivo disponível.