Quarta puntata della serie di articoli dedicati ai sensori di Arduino.

Oggi vedremo come utilizzare tramite Arduino un componente largamente utilizzato in elettronica ed informatica negli ultimi anni, ossia il Led RGB.

I Led sono dei particolari tipi di diodi che presentano la particolarità di emettere luce se vengono attraversati da corrente elettrica.

I Led RGB in particolare, sono dei particolari Led in grado di emettere 3 differenti lunghezze d'onda, appunto R (Red), G (Green) e B (Blue), che combinandosi tra loro andranno a generare tutto lo spettro di colori visibili ad occhio nudo.
 

Lo schema di collegamento del sensore ad Arduino è molto semplice: basterà collegare, tramite 3 cavetti, i 3 Pin del sensore RGB ai rispettivi 3 pin PWM di Arduino (nel nostro caso i pin 11, 10 e 9, ma è possibile usare qualsiasi pin PWM presente su Arduino) ed il pin GND del sensore al corrispettivo GND di Arduino.

 

Allo stesso modo è possibile alimentare anche una striscia Led RGB, ma bisognerà utilizzare anche 3 transistor MOSFET all'interno del circuito, poichè Arduino da solo non ha la potenza sufficiente ad alimentare ed amplificare il segnale.
 

 

Andiamo adesso a vedere come programmare il nostro sensore.
 

int LEDrosso = 11;
int LEDverde = 10;
int LEDblu = 9;

void setup() {
 }

void loop() {
 analogWrite(LEDrosso, 255);
 delay(1000);
 analogWrite(LEDblu, 255);
 delay(1000);
 analogWrite(LEDverde, 255);
 delay(1000);
 analogWrite(LEDblu, 150);
 delay(1000);
 analogWrite(LEDrosso, 100);
 delay(1000);
 analogWrite(LEDverde, 0);
 delay(1000);

}
 

Il sensore RGB verrà pilotato tramite il segnale PWM (Pulse With Modulation) generato da Arduino.

Inizieremo inserendo le 3 variabili date dai numeri dei pin PWM a cui sono connessi i 3 Pin del nostro sensore ( PWM 11, 10 e 9).

Successivamente inseriremo all'interno del LOOP la funzione analogWrite, per poter utilizzare i pin PWM.

Imposteremo questa funzione per ogni Led (rosso, verde e blue) ed inseriremo il valore 255, cioè il valore massimo delle combinazioni di colore disponibili per ogni Led, che elevato per il numero di Led presenti all'interno del sensore darà il valore di circa 16 milioni di colori, cioè tutte le sfumature di colori visibili dall'occhio umano.
Carichiamo quindi il codice sul nostro fido Arduino ed andiamo ad effettuare delle prove di funzionamento.
 

Se invece vogliamo sfruttare la funzione FADE, il codice da utilizzare è il seguente:

int LEDrosso = 11;
int LEDverde = 10;
int LEDblu = 9;

void setup() {
 }

void loop() {
 for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
  analogWrite(LEDrosso, fadeValue);
  analogWrite(LEDverde, 255-fadeValue);
  delay(30);
 }
 delay(100);
 for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
  analogWrite(LEDverde, fadeValue);
  analogWrite(LEDblu, 255-fadeValue);
  delay(30);
 }
 delay(100);
 for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
  analogWrite(LEDblu, fadeValue);
  analogWrite(LEDrosso, 255-fadeValue);
  delay(30);
 }
 delay(100);

}
 

E con l'ultima prova si conclude anche la 4° puntata dedicata ai sensori di Arduino. Mi raccomando, continua a seguire la serie per conoscere anche gli altri sensori ed il loro funzionamento!