GUIDA 11: Arduino, LED RGB (1/2)

In questo articolo parliamo dei LED RGB.

Un LED RGB è un LED che può produrre tre colori diversi: rosso (R: Red), verde (G: Green) e blu (B: Blu). Unendo questi tre colori è possibile ottenere una vastissima gamma di altri colori.

led rgb

I LED RGB hanno 4 terminali, che possono essere:

  • 3 anodi e 1 catodo
  • 1 anodo e 3 catodi

I questo articolo userò LED RGB a anodo comune: 1 anodo e 3 catodi.

led rgb2

 

In serie a ogni LED dovremo aggiungere una resistenza, per regolare la corrente assorbita. Dal datasheet del LED RGB possiamo notare che la caduta di tensione per ogni LED è diversa (con una corrente uguale). Io sto utilizzando il datasheet del LED RGB incluso nel kit di Arduino, ma i valori sono simili anche per altri LED.

datasheet

La formula per il calcolo della resistenza è:

 

calcolo resistenza1dove:

  • R: resistenza, espressa in Ohm
  • Vcc: tensione di alimentazione in corrente cntinua, in Volt
  • Vf: caduta di tensione del componente, in Volt
  • I: corrente assorbita, in Ampere

Calcoliamo quindi le resistenze per ogni LED:

calcolo resistenza2

 

Sceglieremo il valore commerciale che meglio si approssima. Nel kit di Arduino le resistenze che si approssimano meglio sono da 220 Ohm, quindi utilizzeremo queste. Il  circuito funziona ugualmente.

Proviamo ora a realizzare un semplice progetto con un LED RGB. Lo scopo consiste nel cambio del colore del LED ogni 200ms. Collega quindi a tre differenti pin digitali i tre anodi e a massa il catodo. Posto anche uno schema in caso di dubbio.

schema
Ecco lo sketch:


int rosso=9;
int verde=10;
int blu=11;
void setup() {
pinMode(rosso, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(blu, OUTPUT);
}
void loop(){
digitalWrite(blu, HIGH);
delay (200);
digitalWrite(blu, LOW);
digitalWrite(verde, HIGH);
delay (200);
digitalWrite(verde, LOW);
digitalWrite(rosso, HIGH);
delay (200) ;
digitalWrite(rosso, LOW);
}

Il progetto è molto semplice e anche lo sketch credo non abbia bisogno di spiegazioni. Nel video puoi vedere il circuito in funzione.

 

Nel prossimo articolo utilizziamo un LED RGB e la funzione analogWrite(), spiegata nella precedente guida.