Oggi è arrivato sul blog un commento che mi ha fatto tornare in mente che tra i vari oggetti che mi sarebbe piaciuto far funzionare con Arduino c’era una striscia LED RGB della OSRAM che mi era stata regalata qualche tempo fa. Quindi quale occasione migliore per riprendere in mano la cosa e sperimentare!
In questo breve articolo illustrerò il primo esperimento che ho fatto: accendere un colore della striscia a intermittenza. Per intenderci un “Blink” fatto con un colore della stricia led al posto del singolo diodo.
La striscia led RGB
Come ho anticipato per questo esperimento ho utilizzato una LED Strip che faceva parte di un Kit della Osram (lo si può trovare cercando “Osram decoflex”) tipo quello nella figura qui sotto.
Figura 1: Il Kit della striscia RGB utilizzata nell’esperimento
Il Kit comprende ovviamente tutto ciò che serve per far funzionare al meglio le scrisce ma, dato che ci piace capire come funzionano le cose, per questo esperimento ne faremo a meno e cercheremo di riprodurre il controller con Arduino.
L’alimentazione
Per alimentare questa striscia LED è sufficiente collegare il terminale che riporta il simbolo “+” a una alimentazione DC a +12V e uno dei tre terminali “R”,”G” e “B” a massa per accendere rispettivamente il rosso, il verde e il blu.
Figura 2: I teminali di alimentazione
Questo pone il primo grosso problema nell’utilizzo di questa striscia: Arduino lavora a 5V! Come fare a controllare l’accensione e lo spegnimento di questo dispositivo che lavora a 12V?
La risposta sta nell’utilizzo di un circuito di controllo che permetta di “governare” la potenza necessaria ad alimentare il dispositivo (i 12V e i potenzialmente tanti mA di corrente assorbita) utilizzando i 5V (e i max 20mA) delle uscite di Arduino come segnale di controllo.
Per approfondire l’agomento vi rimando all’articolo: Pilotare dispositivi di potenza con Arduino su questo stesso blog.
Il circuito di controllo
Per questo progetto abbiamo scelto di utilizzare un TIP 120: coppia di transistor di potenza in configurazione darlington capaci di sopportare una corrente massima di 5A. Il collegamento è quello classico di un transistor NPN in cui il carico è collegato al collettore, il segnale di controllo alla base e l’emettitore è a massa. Tra base e massa è consigliabile anche porre una resistenza di pull-down per evitare fluttuazioni involontarie della base del TIP che facciano accendere involontariamente i LED.
Nel nostro caso la led strip è il carico e poichè non è un carico induttivo ed è alimentato in tensione non dobbiamo preoccuparci di altro.
Il prototipo per “blink”
Siamo giunti al prototipo di questo primo esperimento. Montiamo tutto su una breadboard e verifichiamo il funzionamento.
Partendo da destra troviamo il jumper rosso che porta il +12V dall’alimentatore al terminale “+” della striscia LED e il jumper nero che porta la massa dall’alimentatore all’emettitore del TIP 120 (piedino di destra). La massa poi prosegue per collegarsi alla massa di Arduino (pin GND a destra del pin D13). Il jumper blu collega il terminale “B” della strip al collettore del TIP 120 (piedino centrale). Il jumper arancione collega, attraverso una resistenza da 1KOhm, il piedino 13 di Arduino alla base del TIP (piedino di sinistra). Infine tra la base del TIP 120 e massa è inserita una resistena da 10KOhm.
Il software: sketch blink
Blink non ha certo bisogno di essere presentato! Per caricarlo basta collegare il prorio Arduino alla USB, aprire l’IDE, selezionare il menu File -> Esempi -> 01. Basics, selezionare la voce “Blink” e fare click sul pulsante di caricamento.
Al termine della compilazione e dell’upload la striscia LED dovrebbe iniziale a lampeggiare!
Prossimi passi
Ora che la strada è spianata siamo pronti per fare i passi successivi:
- Collegare i 3 canali
- Pilotare i 3 canali in modo da miscelare i colori
- Controllare la luminosità
Alla prossima! E non dimenticate, per qualsiasi dubbio o suggerimento di commentare qui sotto e di seguirci su Twitter o G+!
Commenti
19.04.2017 Anis
Ciao,ho una scritta luminosa a led 24V. Vorrei sapere come potrei fare per rendere la scritta scorrevole tramite un arduino a 5V. Ti sarei veramente grato se mi mandassi lo schema di montaggio
21.04.2017 Silvio Marzotto
Ciao Anis, purtroppo non esiste uno "schema" univarsale che vada bene in tutti i casi e non è detto che sia possibile: dipende da come è fatta la tua scritta luminosa. Se è un prodotto commerciale prova a mandarmi marca e modello che vediamo cosa si piò fare.
30.06.2018 House11hd
Ciao mi servirebbero il valore dei componenti del circuito
30.06.2018 Silvio Marzotto
Ciao House11hd, la resistenza Rb (tra il pin 13 e la base del TIP) è da 1 kOhm, La resistenza Rp (tra il pin 13 e massa) è da 10 kOhm. Se vuoi, puoi leggere anche Arduino RGB Led strip controller, dove il tema è trattato più nel dettaglio.
09.06.2021 Enterpryse10
Scusa, nella figura 3 la Rp non dovrebbe stare dopo la Rb Ciao ottimo articolo
09.06.2021 Silvio Marzotto
Ciao, in questo caso costituisce una resistenza di pull-down che serve per evitare che la base del transistor rimnga "flottante" e possa far circulare corrente tra collettore e emettitore. Per semplificare il caloclo di Rb ritengo più immediato imporre la tensione +5 sulla Rb dal pin di Arduino (quando il livello dell'uscita è HIGH) e determinare la Rb per limitare la corrente di base ma mandare il transistor in saturazione. Viceversa si creerebbe una sorta di partitore di tensione composto dalle resistenze Rb e Rp (collegate tra di loro e una al pin di Arduino e l'altra a massa) e la base collegata tra le due resistenze che secondo me complica un poco i calcoli. Tuttavia, ai fini pratici è sostanzialmente lo stesso. Prova a dare una occhiata a questo link "Which configuration is better for pulling down an NPN transistor's base?" che spiega bene in che modo le 2 soluzioni differiscono. Spro possa esserti utile. Un saluto e grazie per avermi letto!