Strumenti Utente

Strumenti Sito


lab2go_arduino:sketch:blink_rgbled

LAB2GO Scienza

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.

Figure 1: Schema di collegamento.

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

lab2go_arduino/sketch/blink_rgbled.txt · Ultima modifica: 2025/01/07 14:57 da michele.martinelli