Indice
LED a colori RGB
Con l'utilizzo di Arduino si può controllare un LED RGB ad intermittenza utilizzando un opportuno codice di programmazione. A differenza del classico LED, il LED RGB, presenta quattro poli: 1 anodo da collegare al pin ground (GND) e 3 catodi (uno per il rosso, uno per il verde e uno per il blu) da collegare ai pulse pin di Arduino. Analogamente ai normali LED, ognuno dei 3 catodi, deve essere posto in serie a un resistore, opportunamente dimensionato, per proteggerlo da correnti elevate. Lo schema di collegamento è riportato nella figura successiva, in cui, il LED è stato collegato ai pin 9-10-11.

Il programma inizia con la dichiarazione delle variabili.
int portarossa = 11; int portaverde = 10; int portablu = 9;
Successivamente è stata definita una funzione che verrà richiamata nel loop per “miscelare” i colori:
void colore (unsigned char rosso, unsigned char verde, unsigned char blu) { analogWrite(portarossa, rosso); analogWrite(portablu, blu); analogWrite(portaverde, verde); }
Si impostano i pin in OUTPUT:
pinMode(portarossa, OUTPUT); pinMode(portaverde, OUTPUT); pinMode(portablu, OUTPUT);
La funzione colore precedentemente definita permette, sfruttando il duty cycle dei pulse pin, di ottenere qualsiasi colore impostando un valore tra 0 e 255 per ognuno dei tre colori di base (rosso, verde, blu). Tramite la funzione delay, infine, si imposta il tempo tra l'esecuzione e l'altra di un comando da parte di Arduino e quindi, in questo caso, la durata di un determinato colore:
colore(255,0,0); delay(del); colore(0,255,0); delay(del); colore(0,0,255); delay(del); colore(237,109,0); delay(del); colore(255,215,0); delay(del); colore(0,46,90); delay(del); colore(128,0,128); delay(del); colore(0,0,0);
Sketch
- Sketch in formato .ino Clicca qui per scaricare;
- Sketch in formato .pdf Clicca qui per scaricare;