Strip LED RGB

Controllo Strip LED RGB con Bluetooth o Display Touch Screen

di La Rosa Giuseppe
Questo progetto consente la gestione di una strip LED RGB (striscia di LED RGB) tramite Smartphone Android oppure con un Display Touch Screen.
La scheda presentata in questo articolo (figura 1) è stata sviluppata per applicazioni con Strip LED RGB, essa è personalizzabile sia dal Hardware che del Firmware, è basa su la piattaforma Arduino UNO. La scheda consente di pilotare degli Strip LED RGB ad Anodo comune (positivo in comune) con tensione di lavoro 12 V con una corrente massima assorbita di 4 A, la scheda può essere gestita tramite un Display Touch Screen uLCD-43DT della 4D Systems oppure mediante il modulo Bluetooth HC-06 e apposita App scritta per Smartphone Android. La scheda non permette di utilizzare contemporaneamente il Display Touch Screen e il modulo Bluetooth perché sfruttano la stessa porta Seriale del Microcontrollore ATMEGA328P. Di conseguenza sono stati scritti tre appositi Firmware per l’utilizzo del Display Touch Screen e del modulo Bluetooth più uno che realizza la dissolvenza dei colori, i tre Firmware saranno approfonditi più avanti, mentre nel prossimo paragrafo analizzeremo il circuito elettrico e il suo funzionamento.
[iscritti]

Figura 1: Foto della scheda di controllo degli Strip LED RGB.
Figura 1: Foto della scheda di controllo degli Strip LED RGB.

Il circuito elettrico

In figura 2 è riportato lo schema elettrico della scheda di controllo degli Strip LED RGB. I tre Mosfet Q1, Q2, Q3, sono pilotati dal segnale PWM generato dal microcontrollore IC2 (piedini IO9, MOSI, SS) essi permettono di pilotare grossi carichi come gli Strip LED RGB e consentono di variare l’intensità luminosa dei tre canali Red, Green, Blue, e di conseguenza di variare il colore della luce emessa. Il diodo LED2 RGB a Catodo (terminale negativo in comune) comune connesso agli ingressi Gate dei tre Mosfet ha la funzione di monitorare l’andamento dei tre canali RGB fornendo un riscontro visivo sull’andamento dei canali. Il connettore J2 serve per la programmazione In Circuit ed è utile per caricare il Bootloader di Arduino UNO. Il connettore J1, consente invece di caricare il Firmware dall’IDE di Arduino UNO tramite convertitore Seriale USB. Al connettore J3 va connesso il modulo Bluetooth HC-06 che permette al microcontrollore IC2 di ricevere i comandi generati dall’applicazione Android installata su uno Smartphone. Il connettore J5 va collegato il Display Touch Screen, come è stato detto prima non è possibile utilizzare contemporaneamente il Display Touch Screen e il modulo Bluetooth perché hanno in comune la stessa porta Seriale del Microcontrollore IC2. La scheda deve essere alimentata con un alimentatore stabilizzato da 12 V in grado di erogare una corrente di 4 A, corrente sufficiente per alimentare degli Strip LED RGB di lunghezza di 5 metri. Nei prossimi paragrafi passiamo alla descrizione dei Firmware e alla programmazione del modulo Bluetooth e del Display Touch Screen.

Figura 2: Schema elettrico della scheda di controllo degli Strip LED RGB.
Figura 2: Schema elettrico della scheda di controllo degli Strip LED RGB.

Firmware per l’utilizzo del Display Touch Screen

Il Firmware per il controllo del Display Touch Screen è stato scritto in linguaggio C per Arduino UNO ed è possibile scaricarlo al Link che troverete a fine articolo insieme al File per programmare il Display Touch Screen. Per eseguire la compilazione o apportare modifiche al Firmware con l’IDE di Arduino UNO bisogna scaricare l’apposita Libreria fornita dalla stessa 4D Systems il cui Link per il Download lo trovate sempre alla fine. Il Firmware ha il compito di ricevere i comandi seriali provenienti dal Display Touch Screen e di conseguenza i valori dei tre Slider (Rosso, Verde, Blu) presenti nella schermata del Display vedi figura 3, essi posso variare di valore ogni uno da 0 a 255, questi tre valori prodotti dagli Slider vengono riportati direttamente sulle tre uscite PWM del microcontrollore IC2 (piedini IO9, MOSI, SS) agendo sulla variazione del valore del Duty Cycle e di conseguenza la variazione luminosa del colore degli Strip LED RGB.

Figura 3: Schermata del Display Touch Screen.
Figura 3: Schermata del Display Touch Screen.

Il pulsante Spegni riporta le tre uscite PWM del microcontrollore al valore 0 quindi spegne gli Strip LED RGB. Passiamo alla programmazione del Display Touch Screen uLCD-43DT. Prima operazione da fare è installare il Software WORKSHOP4, Link per Download a fine articolo. Eseguita l’installazione del Software WORKSHOP4, aprite il File “VisiRGBCont” in precedenza scaricato, una volta aperto si presenterà la schermata di figura 4 connettete il Display Touch Screen al PC tramite il convertitore USB a Seriale (con il cavetto che trovate in dotazione) della 4D Systems, poi inserite una Micro SD Card da 2 Gb nel vostro lettore di Micro SD Card e connetterlo al vostro PC, come rappresentato in figura 5.

Figura 4: Schermata del Software ViSi Genie per la programmazione del Display Touch Screen.
Figura 4: Schermata del Software ViSi Genie per la programmazione del Display Touch Screen.

Effettuati tutti i collegamenti appena descritti basta cliccare sul tasto “Build Copy/Load” in alto a sinistra che inizierà la programmazione del Display, in seguito si aprirà una finestra che vi chiederà di selezione l’unita dove è presente la Micro SD Card eseguite la selezione dell’unita (ad esempio F) e cliccate “OK”, sulla barra bianca sottostante appariranno le scritte “0 erroros” e “0 warings” ciò vuol dire che la programmazione è finita ed è andata a buon fine. Potete scollegare il Display Touch Screen dal PC ed inserire la Micro SD Card nell’apposito Slot dietro al Display, in fine connettere il Display alla scheda di controllo. Sia il Firmware Arduino UNO e il File del Display sono facilmente modificabili quindi potrete apportare tutte le variazioni e personalizzazioni che si desiderano. Nel prossimo paragrafo descriveremo il funzionamento del Firmware per poter controllare gli Strip LED RGB tramite Smartphone.

Figura 5: Schemi di collegamento per la programmazione del modulo Bluetooth e Display Touch Screen.
Figura 5: Schemi di collegamento per la programmazione del modulo Bluetooth e Display Touch Screen.

Firmware per l’utilizzo del modulo Bluetooth HC-06

Il Firmware riconosce la sequenza di valori numerici (inviati dai tre Slider) inviati dall’applicazione Android (vedi figura 6) e provvede a modificare la luminosità dei tre colori degli Strip LED RGB. Il secondo pulsante dell’applicazione Android posto in alto provvede a spegnere gli Strip LED RGB, come è facile intuire è stato mantenuto lo stesso modo di funzionamento usato per il Display. È stato solo aggiunto il primo pulsante in alto che consente di connettere e di scegliere il dispositivo (scheda di controllo RGB) da utilizzare. Data la semplicità e i molteplici commenti inseriti nel sorgente del Firmware non ci dilunghiamo nella sua descrizione, vi consigliamo di leggerlo in autonomia.

Figura 6: Screenshot dell’App Android per il controllo tramite Bluetooth e QR Code per il download.
Figura 6: Screenshot dell’App Android per il controllo tramite Bluetooth e QR Code per il download.

Ora passiamo alla programmazione del Modulo Bluetooth HC-06. Esso supporta i comandi AT per modificare velocità di trasmissione, nome dispositivo, Passkey. Ha un settaggio predefinito della porta Seriale “8-N-1 9600” cioè dati a 8 bit, nessuna parità, 1 bit di stop con velocità 9600 Bps. La Passkey predefinita di accoppiamento è la seguente “1234”. Per il nostro utilizzo imposteremo la porta Seriale “8-N-1 19200” la Passkey “1234” e il nome come “StripRGB”. Avvalendoci di convertitore USB a Seriale (ad esempio quello della 4D Systems), ed eseguendo i collegamenti al modulo HC-06 come illustrato in figura 5 possiamo modificare tutti i parametri appena descritti. Utilizzando il software Hercules vedi figura 7, (Link per il Download a fine articolo) andremo ad inviare per prima il comando “AT” che ci serve a verificare che il collegamento e la porta Seriale siano stati selezionati correttamente. Se il modulo risponde “OK” significa che tutto è stato connesso correttamente e possiamo proseguire con l’invio degli altri comandi. Inviamo il comando per cambiare il nome del dispositivo con “AT+NAMEStripRGB”, poi il comando per cambiare la Passkey “AT+PIN1234”, ed infine il comando per cambiare la velocità della porta a 19200 Bps con il comando “AT+BAUD5”. Con questa semplice procedura abbiamo settato il modulo e adesso è pronto per essere utilizzato con la scheda di controllo Strip LED RGB. Abbiamo realizzato un altro Firmware molto semplice che realizza la dissolvenza dei colori automatica e non ha bisogno di Display o modulo Bluetooth, lasciamo al lettore l’analisi del funzionamento e le eventuali modifiche. Nel prossimo paragrafo passiamo alla parte pratica cioè alla realizzazione della scheda.

Figura 7: Schermata del Software Hercules per programmazione del modulo Bluetooth HC-06.
Figura 7: Schermata del Software Hercules per programmazione del modulo Bluetooth HC-06.

Realizzazione delle schede e collaudo

Passiamo adesso alla costruzione della scheda che si presenta abbastanza semplice, la basetta è del tipo mono faccia e si prepara a partire dalla traccia di figura 8. Ottenuto il circuito stampato, iniziate a montare la scheda (seguendo il piano di montaggio figura 8) e i componenti richiesti dall’“Elenco componenti”. Per prima cosa eseguite tutti i ponticelli che vanno da P1 a P6. Inserite tutte le resistenze, per ultimo il diodo D1 che va saldato a 5 mm dalla piastra. Saldate lo zoccolo per l’integrato IC2, proseguite con i condensatori non polarizzati e poi gli elettrolitici, il quarzo Y1, gli STRIP, i LED, e i connettori X1 e J4, per ultimi i tre il Mosfet Q1 a Q3. Se si dispone di un ATMEGA328P già con Bootloader caricato si può passare al caricamento del Firmware da voi scelto tramite un convertitore USB a Seriale che va collegato al connettore J1 presente sulla scheda. Altrimenti prima bisogna caricare tramite un programmatore il Bootloader dal connettore J2. Eseguite il collegamento come è rappresentato in figura 9, in base al Firmware prescelto in precedenza realizzate il collegamento della configurazione che intendete adoperare o con il Display Touch Screen oppure con il modulo Bluetooth. Usate un alimentatore stabilizzato a 12 V in grado di erogare una corrente continua di almeno 4 A, se intendete usare degli Strip LED RGB in più aumentate la corrente di almeno 2 A.

Figura 8: A sinistra piano di montaggio a destra master del circuito stampato della scheda di controllo degli Strip LED RGB.
Figura 8: A sinistra piano di montaggio a destra master del circuito stampato della scheda di controllo degli Strip LED RGB.

Conclusione

Come avete letto in precedenza il controllo Strip LED RGB può essere personalizzato sia a livello di Hardware e di Firmware, quindi adattabile alle vostre esigenze, esso può essere usato per la retroilluminazione di Monitor LCD o TV, oppure per illuminazione scenografica di ambienti. Di seguito trovate tutti i Link per scaricare i File per la realizzazione del progetto, ma anche i Link dove trovare il materiale per la realizzazione.

Figura 9: Schema di collegamento tra la scheda e vari dispositivi.
Figura 9: Schema di collegamento tra la scheda e vari dispositivi.

Elenco componenti

R1    330 Ω 1/4 W
R2    470 Ω 1/4 W
R3    10 KΩ 1/4 W
R4    330 Ω 1/4 W
R5    100 Ω 1/4 W
R6    180 Ω 1/4 W
R7    100 Ω 1/4 W
R8    330 Ω 1/4 W
C1    100 µF 35 V elettrolitico
C2÷C3 100 nF poliestere
C4    22 pF ceramico
C5÷C6 100 nF poliestere
C7    22 pF ceramico
C8    100 µF 35 V elettrolitico
D1    6A60 diodo
Q1÷Q3 BUK9535
IC1   L7805CV
IC2   ATMEGA328P
LED1  Led 5 mm Verde
LED2  LED 5 mm RGB c.c.
Y1    Quarzo 16 MHz
S1    Pulsante c.s.
J1    Strip maschio 5 pin
J2    Strip maschio 3+3 pin
J3    Strip femmina 4 poli
J4    Presa DC 90° 5,5×2,1 mm
J5    Strip maschio 5 poli
X1    Morsetto 4 poli
P1÷P6 Ponticello
N.1   Modulo Bluetooth HC-06
N.1   Display Touch Screen
uLCD-43DT
N.1   Micro SD Card da 2 Gb
N.1   Zoccolo 14+14 pin
N.1   Vite 3×15 mm più dado

Riferimenti

Per scaricare il Software WORKSHOP4 e la libreria per Arduino UNO:
http://www.4dsystems.com.au/product/4D_Workshop_4_IDE/
Guardare il video del progetto in funzione:
https://www.youtube.com/watch?v=oeYi9OH_kGM

GIOVANNI DI MARIA