In questo progetto interfacciamo 5 LED RGB (Red Green Blue) ad Arduino Uno. Questi LED sono collegati in parallelo per ridurre l'utilizzo del PIN di Uno.
Un tipico LED RGB è mostrato nella figura seguente:
Il LED RGB avrà quattro pin come mostrato in figura.
PIN1: terminale negativo colore 1 o terminale positivo colore 1
PIN2: positivo comune per tutti e tre i colori o negativo comune per tutti e tre i colori
PIN3: terminale negativo colore 2 o terminale positivo colore 2
PIN4: terminale negativo colore 3 o terminale positivo colore 3
Quindi ci sono due tipi di LED RGB, uno è di tipo a catodo comune (negativo comune) e l'altro è di tipo anodo comune (positivo comune). In CC (Common Cathode o Common Negative), ci saranno tre terminali positivi, ciascun terminale rappresenta un colore e un terminale negativo che rappresenta tutti e tre i colori. Il circuito interno di un LED CC RGB può essere rappresentato come di seguito.
Se vogliamo che il ROSSO sia acceso sopra, dobbiamo alimentare il pin del LED ROSSO e mettere a terra il negativo comune. Lo stesso vale per tutti i LED. In CA (Common Anode o Common Positive), ci saranno tre terminali negativi, ogni terminale rappresenta un colore e un terminale positivo che rappresenta tutti e tre i colori. Il circuito interno di un LED CA RGB può essere rappresentato come mostrato in figura..
Se vogliamo che il ROSSO sia acceso sopra, dobbiamo mettere a terra il pin del LED ROSSO e alimentare il positivo comune. Lo stesso vale per tutti i LED.
Nel nostro circuito useremo il tipo CA (Common Anode o Common Positive). Per collegare 5 LED RGB ad Arduino abbiamo bisogno di 5x4 = 20 PIN di solito, riducendo questo utilizzo di PIN a 8 collegando LED RGB in parallelo e utilizzando una tecnica chiamata multiplexing.
Componenti
Hardware: UNO, alimentatore (5v), resistenza da 1KΩ (3 pezzi), LED RGB (rosso verde blu) (5 pezzi)
Software: Atmel studio 6.2 o Aurdino notturno.
Circuito e spiegazione di funzionamento
Il collegamento del circuito per l' interfacciamento con LED RGB Arduino è mostrato nella figura sottostante.
Ora per la parte difficile, diciamo che vogliamo accendere il led ROSSO in SET1 e il LED VERDE in SET2. Alimentiamo il PIN8 e il PIN9 di UNO e mettiamo a terra il PIN7, PIN6.
Con quel flusso avremo ROSSO nel primo SET e VERDE nel secondo SET ON, ma avremo VERDE in SET1 e ROSSO in SET2 ON con esso. Per semplice analogia possiamo vedere tutti e quattro i LED chiudere il circuito con la configurazione di cui sopra e quindi si accendono tutti.
Quindi, per eliminare questo problema, attiveremo solo un SET alla volta. Diciamo at = 0m SEC, SET1 è sintonizzato su ON. A t = 1m SEC, SET1 viene impostato su OFF e SET2 su ON. Sempre a t = 6m SEC, SET5 viene disattivato e SET1 viene attivato. Questo va avanti.
Qui il trucco è che l'occhio umano non può catturare una frequenza superiore a 30 HZ. Cioè se un LED si accende e si spegne continuamente a una velocità di 30 Hz o più. L'occhio vede il LED sempre acceso. Tuttavia, questo non è il caso. Il LED si accenderà e spegnerà costantemente. Questa tecnica è chiamata multiplexing.
In parole semplici alimenteremo ogni catodo comune di 5 SET 1milli secondo, quindi in 5milli secondo avremo completato il ciclo, dopodiché il ciclo ricomincia da SET1, questo va avanti all'infinito. Poiché i LED SET si accendono e si spengono troppo velocemente. L'umano predice che tutti i SET sono sempre attivi.
Quindi, quando alimentiamo SET1 at = 0 milli secondo, mettiamo a terra il pin ROSSO. A t = 1 milli secondo, alimentiamo il SET2 e mettiamo a terra il pin VERDE (in questo momento ROSSO e BLU sono tirati in alto). Il ciclo va veloce e l'occhio vede un bagliore ROSSO nel PRIMO SET e un bagliore VERDE nel SECONDO SET.
È così che programmiamo un LED RGB, illumineremo lentamente tutti i colori nel programma per vedere come funziona il multiplexing.