Scopri come utilizzare un LED RGB con Arduino per creare effetti luminosi personalizzati, sfruttando la funzione analogWrite()
per controllare l’intensità dei colori.
Perché utilizzare un LED RGB con Arduino?

Il sistema RGB combina tre colori primari — Rosso, Verde e Blu — per creare tutti gli altri colori. Ogni colore può essere regolato in intensità, da 0 a 255, e combinato con gli altri due per ottenere una vasta gamma di tonalità.
Utilizzare un LED RGB con Arduino ti permette di:
- Creare effetti luminosi dinamici: varia l’intensità dei colori per ottenere transizioni fluide.
- Personalizzare l’illuminazione: adatta l’illuminazione alle esigenze del tuo progetto.
- Sperimentare con la miscelazione dei colori: impara come combinare i colori per ottenere nuove tonalità.
Lista della spesa
Per realizzare questo progetto, avrai bisogno di:
- Breadboard
- Arduino UNO (o compatibile)
- LED RGB a catodo comune
- 3 resistenze da 10 kΩ
- Cavi jumper (dupont)
- Cavo USB
Schema di montaggio

Segui questa guida passo-passo:
- Posiziona la breadboard su un tavolo e collega il Power Rail – a GND di Arduino e quello + a VCC di Arduino (Se non sai come fare i collegamenti su una breadboard guarda questo video: https://www.youtube.com/watch?v=w4CLsFViD2w)
- LED RGB: ha tre piedini per i colori rosso, verde e blu, più il catodo comune (quello più lungo). Prima di collegare i piedini ai pin di Arduino, inserisci una resistenza da 10 kΩ tra ciascun piedino dei colori e il pin corrispondente. Collega quindi il catodo comune al Power Rail – (GND). Collega il piedino rosso al pin 13 (D13), il piedino blu al pin 11 (D11) e il piedino verde al pin 12 (D12) di Arduino. Fai attenzione che il LED ha questa sequenza di piedini: Rosso, catodo comune, Blu, Verde.
Se non ti ritrovi con questa spiegazione in fondo al post c’è un video che spiega in maniera dettagliata tutti i passaggi.
Codice per LED RGB con Arduino
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
rgb(255, 0, 255); // Magenta
delay(1000);
rgb(0, 255, 255); // Ciano
delay(1000);
rgb(255, 255, 0); // Giallo
delay(1000);
}
void rgb(int red, int green, int blue) {
analogWrite(13, red);
analogWrite(12, green);
analogWrite(11, blue);
}