Hardware Interfacciamento

Strisce LED RGB e Arduino: primi esperimenti

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.
osram_79643

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.

 

collegamenti_led_stripFigura 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.

driver_rgb_led_strip_arduin
Figura 3: Il driver

 

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.

breadboard_stricia_led_rgb_

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!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

In questo articolo abbiamo parlato di

Ne abbiamo parlato anche in...

Pilotare dispositivi di potenza con Arduino

Hardware

Pilotare dispositivi di potenza con Arduino

24.05.2014 di Silvio Marzotto19 commenti

Qualche tempo fa ho cominciato a pensare di utilizzare Arduino per gestire tramite i propri pin di I/O dei dispositivi esterni. Mi sono quasi subito scontrato con un fatto del […]

Arduino RGB Led strip controller

Hardware Realizzazioni Software

Arduino RGB Led strip controller

29.11.2017 di Silvio Marzotto2 commenti

Dopo i primi esperimenti con le strisce Led RGB ecco un progetto completo per la realizzazione di un controller dotato di ricetivore infrarossi per la gestione tramite telecomando e una serie di effetti luminosi preprogrammati selezionabili dall’utilizzatore.