Tutorial ESP32 50/55 - Controlla il LED RGB da qualsiasi parte del mondo | Kit ESP32 di SunFounder

Tutorial ESP32 50/55 - Controlla il LED RGB da qualsiasi parte del mondo | Kit ESP32 di SunFounder

In questo tutorial, impareremo a controllare il colore di un LED RGB utilizzando il microcontrollore ESP32 via Wi-Fi, utilizzando il protocollo MQTT e il servizio Adafruit IO. Questa configurazione consente di cambiare il colore del LED RGB da qualsiasi parte del mondo, fornendo un'applicazione pratica della tecnologia IoT. Esploreremo anche come utilizzare cursori e un selettore di colore per scegliere il colore desiderato.

esp32-50-RGB-led-mqtt-principale

L'ESP32 è un potente microcontrollore che ha capacità Wi-Fi e Bluetooth integrate, rendendolo ideale per progetti IoT. In questa realizzazione, collegheremo un LED RGB all'ESP32 e controlleremo il suo colore attraverso un broker MQTT fornito da Adafruit. Il tutorial ti guiderà attraverso la configurazione hardware, le istruzioni di cablaggio e il codice necessario per far funzionare tutto senza problemi (nel video a :00).

Hardware spiegato

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

Per questo progetto, i componenti principali che utilizzeremo sono il microcontrollore ESP32 e il LED RGB. L'ESP32 è in grado di connettersi a reti Wi-Fi, permettendogli di comunicare con il servizio Adafruit IO. Il LED RGB contiene tre LED individuali (rosso, verde e blu) che possono essere mescolati per creare un'ampia gamma di colori.

Il LED RGB funziona secondo il principio dell'anodo comune o del catodo comune, il che significa che l'anodo (positivo) o il catodo (negativo) dei singoli LED devono essere collegati correttamente affinché funzionino. Ogni colore può essere controllato utilizzando la modulazione della larghezza degli impulsi (PWM), che regola la luminosità di ciascun LED variando il ciclo di lavoro.

ES32-38_RGB_LED-cablaggio

Dettagli della scheda tecnica

Produttore SunFounder
Numero di parte LED RGB
Tensione diretta (VF) 2,0-3,4 V
Corrente di uscita (IF) 20 mA
Lunghezza d'onda di picco (nm) Rosso: 620, Verde: 525, Blu: 465
Pacchetto Standard a 4 pin
Note / varianti Opzioni per anodo comune o catodo comune disponibili

  • Utilizza resistori da 220 ohm per ogni colore LED per limitare la corrente.
  • Assicurati che il cablaggio sia corretto per la configurazione dell'anodo comune o del catodo comune.
  • Controlla l'alimentazione dell'ESP32 per evitare cali di tensione.
  • Mantieni la frequenza PWM entro i limiti per transizioni di colore fluide.
  • Assicurati che le credenziali Wi-Fi siano corrette per connetterti al servizio Adafruit IO.

Istruzioni per il cablaggio

ES32-38_RGB_LED-wiring

Per collegare il LED RGB all'ESP32, inizia identificando i pin sul LED RGB. Il pin più lungo è il pin comune. Per una configurazione a catodo comune, collega questo pin all'alimentazione positiva (3.3V). Gli altri tre pin corrispondono ai LED rosso, verde e blu. Collega il pin rosso al GPIO 27, il pin verde al GPIO 26 e il pin blu al GPIO 25. Ognuna di queste connessioni dovrebbe essere effettuata tramite un resistore da 220 ohm per limitare la corrente che scorre attraverso i LED.

Successivamente, collega il ground (GND) dell'ESP32 alla linea di ground del tuo circuito. Assicurati che i cablaggi siano sicuri per prevenire eventuali connessioni intermittenti. Se utilizzi un LED RGB a catodo comune, collega il pin comune a terra e collega i pin dei singoli colori all'alimentazione positiva tramite le resistenze. Controlla di nuovo tutte le connessioni prima di alimentare il circuito.

Esempi di codice e guida passo passo

Nel codice Arduino, iniziamo definendo i pin per i LED rosso, verde e blu utilizzando gli identificatori.redPin,greenPin, ebluePin. Inoltre, definiamo i canali PWM per ciascun colore utilizzandoredChannel,greenChannel, eblueChannelLa frequenza PWM è impostata a 5000 Hz con una risoluzione a 8 bit.

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()funzione, inizializziamo i canali PWM e colleghiamo i pin corrispondenti. Ci connettiamo anche alla rete Wi-Fi utilizzando le credenziali definite e configuriamo il client MQTT per la comunicazione con Adafruit IO.

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

Il ciclo principale controlla la connessione MQTT e elabora i messaggi in arrivo. Stampa anche i valori RGB attuali sul monitor seriale. Il colore del LED viene aggiornato in base ai valori ricevuti tramite le sottoscrizioni MQTT.

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

Per ulteriori dettagli sul codice completo, si prega di fare riferimento al codice completo caricato sotto l'articolo.

Dimostrazione / Cosa Aspettarsi

Una volta che tutto è impostato e il codice è caricato, dovresti vedere il LED RGB rispondere ai cambiamenti di colore effettuati tramite il dashboard di Adafruit IO. Man mano che regoli i cursori per il rosso, il verde e il blu, il LED dovrebbe cambiare colore di conseguenza. Se riscontri problemi, assicurati che la connessione Wi-Fi sia stabile e che i nomi dei topic MQTT corrispondano a quelli definiti nel codice (nel video alle 17:30).

I pericoli comuni includono cablaggi errati, nomi dei temi incongruenti e dimenticare di impostare le corrette credenziali Wi-Fi. Se il LED non si accende, controlla di nuovo le connessioni dei resistori e assicurati che l'ESP32 sia alimentato correttamente.

Timestamp video

  • 00:00 Inizio
  • 2:23 Introduzione al progetto
  • 4:43 Che cos'è MQTT
  • 7:55 Configurazione di Adafruit IO
  • 14:09 Spiegazione del cablaggio
  • 16:07 Codice spiegato
  • 27:03 Selezionare la scheda ESP32 e la porta COM su Arduino IDE
  • 29:12 Dimostrazione del progetto
  • Cos'è un LED RGB?
  • 35:26 Colore RGB

Immagini

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
Lingua: C++
Copia!

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

Nessun file disponibile.