Nota
Ciao, benvenuto nella Comunità degli Appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci la tua conoscenza di Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.
Why Join?
Expert Support: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.
Learn & Share: Scambia consigli e tutorial per migliorare le tue competenze.
Exclusive Previews: Ottieni accesso anticipato alle nuove annunci di prodotti e anteprime esclusive.
Special Discounts: Goditi sconti esclusivi sui nostri prodotti più recenti.
Festive Promotions and Giveaways: Partecipa a giveaway e promozioni festive.
👉 Pronto per esplorare e creare con noi? Clicca [qui] e unisciti oggi!
Lezione 28: Modulo LED RGB
In questa lezione, imparerai a controllare un LED RGB utilizzando una scheda di sviluppo ESP32. Tratteremo l’uso di diversi canali di colore per visualizzare i colori primari e creare una sequenza di colori arcobaleno. Questo progetto è ideale per i principianti in elettronica e programmazione, fornendo esperienza pratica con le operazioni di output e la miscelazione dei colori utilizzando l’ESP32 e il modulo LED RGB.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È decisamente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
---|---|---|
Kit Sensori per Maker Universali |
94 |
Puoi anche acquistarli separatamente dai link qui sotto.
Introduzione al Componente |
Link per l’Acquisto |
---|---|
ESP32 & Scheda di Sviluppo (ESP32 WROOM 32E) |
|
- |
|
Cablaggio

Codice
Analisi del Codice
Il primo segmento del codice dichiara e inizializza i pin ai quali è collegato ciascun canale di colore del modulo LED RGB.
const int rledPin = 25; // pin collegato al canale di colore rosso const int gledPin = 26; // pin collegato al canale di colore verde const int bledPin = 27; // pin collegato al canale di colore blu
La funzione
setup()
inizializza questi pin come OUTPUT. Ciò significa che stiamo inviando segnali FUORI da questi pin al modulo LED RGB.void setup() { pinMode(rledPin, OUTPUT); pinMode(gledPin, OUTPUT); pinMode(bledPin, OUTPUT); }
Nella funzione
loop()
, la funzionesetColor()
viene chiamata con diversi parametri per visualizzare diversi colori. La funzionedelay()
viene usata dopo aver impostato ciascun colore per fare una pausa di 1000 millisecondi (o 1 secondo) prima di passare al colore successivo.void loop() { setColor(255, 0, 0); // Imposta il colore del LED RGB a rosso delay(1000); setColor(0, 255, 0); // Imposta il colore del LED RGB a verde delay(1000); // Il resto della sequenza di colori... }
La funzione
setColor()
utilizza la funzioneanalogWrite()
per regolare la luminosità di ciascun canale di colore sul modulo LED RGB. La funzioneanalogWrite()
impiega la modulazione di larghezza d’impulso (PWM) per simulare diverse uscite di tensione. Controllando il ciclo di lavoro PWM (la percentuale di tempo in cui un segnale è ALTO in un periodo fisso), è possibile controllare la luminosità di ciascun canale di colore, permettendo la miscelazione di vari colori.void setColor(int R, int G, int B) { analogWrite(rledPin, R); // Usa PWM per controllare la luminosità del canale di colore rosso analogWrite(gledPin, G); // Usa PWM per controllare la luminosità del canale di colore verde analogWrite(bledPin, B); // Usa PWM per controllare la luminosità del canale di colore blu }