Alcune parti di questo sito web non sono ancora disponibili nella tua lingua. Stiamo lavorando per risolvere questo problema e ci scusiamo per eventuali disagi.
Tutoriale ESP32 34/55 - Gradiente di colore con LED RGB e manopola | Kit di apprendimento IoT ESP32 di SunFounder
In questo tutorial, creeremo un effetto di gradiente colore utilizzando un LED RGB che si regola in base alla posizione di un potenziometro (knob). Il progetto utilizza un microcontrollore ESP32, che offre funzionalità Wi-Fi e Bluetooth integrate, rendendolo una scelta versatile per progetti IoT. Ruotando il potenziometro, possiamo passare dolcemente tra diversi colori, dimostrando sia la funzionalità del LED RGB sia la capacità di leggere valori analogici dal potenziometro.
ESO32-34_-Colore-Gradiente-principale
Questo progetto è ideale per apprendere il PWM (Modulazione di Larghezza d'Impulso) e come controllare dispositivi analogici con un microcontrollore. In questo tutorial, discuteremo dei componenti hardware necessari, delle istruzioni di cablaggio e forniremo frammenti di codice per aiutarti a implementare il progetto. Per una spiegazione più visiva, assicurati di guardare il video associato (nel video alle 02:15).
Hardware Spiegato
ESO32-34_-Schema-gradiente-colore
I componenti principali utilizzati in questo progetto includono il microcontrollore ESP32, un LED RGB e un potenziometro. L'ESP32 è un potente microcontrollore che può gestire vari compiti, inclusa la comunicazione wireless, rendendolo adatto per applicazioni IoT. Il LED RGB è composto da tre LED individuali (rosso, verde e blu) che possono essere mescolati per produrre un'ampia gamma di colori. Il potenziometro funge da resistore regolabile che fornisce un'uscita di tensione variabile in base alla sua posizione.
ESP32_pin_rgb
Il LED RGB può essere collegato in due configurazioni: anodo comune o catodo comune. In questo progetto, utilizzeremo una configurazione a anodo comune, in cui tutti gli anodi sono collegati insieme a una tensione positiva, permettendoci di controllare la luminosità di ciascun LED individualmente con PWM. Il potenziometro sarà collegato a un ingresso analogico sull'ESP32 per leggere la sua posizione e regolare i valori RGB di conseguenza.
Dettagli della scheda tecnica
Produttore
SunFounder
Numero di parte
LED RGB
Tensione di logica/IO
3,3 V
Tensione di alimentazione
5 V
Corrente di uscita (per canale)
20 mA
Corrente di picco (per canale)
30 mA
Indicazioni sulla frequenza PWM
5 kHz
Soglie logiche di ingresso
0,3 V (basso) / 2,7 V (alto)
Caduta di tensione / RDS(on)/ saturazione
1,8 V (tip.)
Limiti termici
Temperatura di funzionamento: da -40°C a +85°C
Pacchetto
Passo attraverso
Note / varianti
Configurazione ad anodo comune
Utilizzare una resistenza da 220 Ohm per ogni canale LED per limitare la corrente.
Assicurati di avere una corretta tensione di alimentazione (5V) per il LED RGB.
Collegare l'anodo comune all'alimentazione di tensione positiva.
Usa il PWM per controllare la luminosità di ciascun colore LED.
Fai attenzione alla connessione del potenziometro per evitare ingressi flottanti.
Verifica che l'ESP32 sia correttamente alimentato prima di caricare il codice.
Istruzioni di cablaggio
Per collegare il LED RGB e il potenziometro all'ESP32, inizia collegando il pin dell'anodo comune del LED RGB al pin di alimentazione da 3,3V sull'ESP32. I pin rosso, verde e blu del LED RGB si collegheranno ai pin27,26, e25rispettivamente. Assicurati di posizionare una resistenza da 220 Ohm in serie con ciascun pin del colore del LED per limitare la corrente e proteggere il LED.
In seguito, collega il potenziometro all'ESP32 collegando il pin sinistro al pin di alimentazione a 3,3V, il pin destro a terra e il pin centrale a14sull'ESP32. Questa configurazione consente all'ESP32 di leggere la tensione analogica dal potenziometro, che verrà utilizzata per regolare il colore del LED RGB in base alla sua posizione.
Esempi di codice e guida passo passo
Nella funzione di configurazione, definiamo i pin per il LED RGB e il potenziometro, oltre a inizializzare le impostazioni PWM. Il seguente frammento di codice mostra come impostiamo i pin del LED RGB:
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
void setup() {
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
In questo frammento, definiamo i pin per i LED rosso, verde e blu e li colleghiamo ai canali PWM con una frequenza e una risoluzione definite.
La funzione loop legge il valore del potenziometro e lo converte in un valore di tonalità, che viene poi utilizzato per determinare i valori RGB. Il seguente estratto dimostra questo processo:
Questo codice legge il valore analogico dal potenziometro, lo normalizza e calcola la tonalità corrispondente. Successivamente, chiama ilHUEtoRGBfunzione per convertire la tonalità in valori RGB, che vengono passati alsetColorfunzione per aggiornare il LED.
Dimostrazione / Cosa Aspettarsi
Una volta completati i cablaggi e il caricamento del codice, dovresti essere in grado di ruotare il potenziometro per cambiare il colore del LED RGB in modo fluido. Mentre ruoti la manopola, il LED passerà attraverso vari colori in base al valore di tonalità calcolato dalla posizione della manopola. Se il LED non si accende o si comporta in modo imprevisto, controlla i cablaggi e assicurati che il potenziometro sia collegato correttamente (nel video a 10:45).
Timestamp video
00:00 Inizio
2:11 Introduzione al progetto
4:31 LED RGB
8:18 Colore RGB
12:18 Spiegazione del cablaggio
17:59 Codice Arduino spiegato
24:12 Selezione della scheda ESP32 e della porta COM in Arduino IDE
25:54 Dimostrazione
Immagini
ESP32_rgb_pin
ESP32_RGB_led_wires
potentiometer
ESO32-34_-Color-Gradient-wiring
ESO32-34_-Color-Gradient-schematic
ESO32-34_-Color-Gradient-main
ESP32_rgb_pin
ESP32_RGB_led_wires
potentiometer
ESO32-34_-Color-Gradient-wiring
ESO32-34_-Color-Gradient-schematic
ESO32-34_-Color-Gradient-main
835-ESP32 Tutorial 34/55- Arduino code for color gradient