Shift Register 74HC595 e RGB led

Salve devo comandare un certo numero di led RGB, utilizzando lo Shift Register 74HC595.

I led RGB devono essere a catodo, anodo comune oppure è indifferente utilizzare uno o l'altro ?

al momento grazie.

Come vorresti pilotarli?
Nel senso che i 595 sono i meno indicati per pilotare led RGB, per alcuni motivi:

  1. hanno una corrente max per singolo pin di 20 mA e max 70 mA per tutto il chip; usando gli 8 pin saresti a 160 mA, il doppio di quello supportato dal driver.
  2. non potresti regolare il colore ma solo accendere/spengere un canale per cui le combinazioni ottenibili sono poche.

Esistono driver appositi, tipo il TLC5940 che permette di regolare il PWM su ogni singolo canale. Lavora con led ad anodo comune.

L'intensione è di creare, attraverso la combinazione RGB, un determinato colore.

Quindi il 74HC595 è bocciato.

Con il TLC5940 li posso accendere singolarmente con l'intensità desiderata, per creare l'opportuno colore ?

Ogni TLC5940 quanti Led può comandare ?

Quanti TLC5940 posso utilizzare contemporaneamente, cioè collegati ad un'unico arduino ?

Scusa gcam, non mi è chiara una cosa ...

... tu vuoi avere una serie di LED RGB e pilotarli tutti assieme in PWM in modo che tutti riproducano UN certo colore, o vuoi pilotarli in PWM singolarmente in modo che ciascun LED abbia il SUO colore (... e quindi devi mantenere una bella mappa in memoria con la quale ti ricordi, per ogni singolo LED il valori RGB) ???

Perché sono due approcci totalmente differenti ...

Nel caso tu volessi fare il controllo RGB di ogni SINGOLO LED, allora prova a dare un'occhiata QUI dove appunto descrive la libreria per usare i TLC5940 :wink:

Guglielmo

La domanda di Guglielmo è lecita.
Quanti led devi pilotare? Con un TLC5940 piloti 5 led RGB, di più non puoi, devi mettere più chip in cascata perché un TLC5940 ha 16 uscite PWM, un led RGB ha 3 canali per cui vedi che 16/3=5. Questi 5 led possono però essere comandati in maniera del tutto indipendente.

Se invece vuoi controllare un gruppo di led collegati tutti insieme, allora puoi usare i pin PWM dell'Arduino (con opportuna circuiteria per pilotare i led).

devo creare una matrice di led RGB ognuno dei quali deve assumere il suo colore.

Quindi in prima istanza ho pensato a n.3 TLC5940 in cascata per governare 16 led RGB.

Ma ci sono limitazioni nel numero di TLC5940 in cascata ?

Posso utilizzare sempre il TLC5940 per governare dei motori passo passo unipolari o bipolari (in teoria posso governare 4 motori con ogni TLC5940) ?

Si possono mettere più TLC in cascata, la lib lo supporta. E supporta anche i servo.

https://code.google.com/p/tlc5940arduino/

servo e motori passo passo si gestiscono alla stessa maniera.

leo72:
Come vorresti pilotarli?
Nel senso che i 595 sono i meno indicati per pilotare led RGB, per alcuni motivi:

  1. hanno una corrente max per singolo pin di 20 mA e max 70 mA per tutto il chip; usando gli 8 pin saresti a 160 mA, il doppio di quello supportato dal driver.
  2. non potresti regolare il colore ma solo accendere/spengere un canale per cui le combinazioni ottenibili sono poche.

Posso aggiungere una domanda?
A questo link un progetto che usa quattro 74HC595 (secondo il titolo in PWM) per pilotare un RGB 8x8 matrix
http://francisshanahan.com/index.php/2009/how-to-build-a-8x8x3-led-matrix-with-pwm-using-an-arduino/

E' un fake, è errato oppure si può fare ma con delle limitazioni (ad esempio puoi solo avere R,G,B e le combinazioni dei tre ma non tutta la gamma cromatica) ?

A questo link un progetto che usa quattro 74HC595 (secondo il titolo in PWM) per pilotare un RGB 8x8 matrix
http://francisshanahan.com/index.php/2009/how-to-build-a-8x8x3-led-matrix-with-pwm-using-an-arduino/

E' un fake, è errato oppure si può fare ma con delle limitazioni (ad esempio puoi solo avere R,G,B e le combinazioni dei tre ma non tutta la gamma cromatica) ?

È uno che non ha letto il datasheet del 74HC595. Non sopporta le correnti dei LED.
Si potrebbe prendere dei TIPC6A595 che hanno come uscita dei MOSFET open deain e possono comutare 350mA a massa. http://www.ti.com/lit/ds/slis005b/slis005b.pdf . Per gli anodi usare una combinazione HC595 e A2983.
Il pilotaggio dei Shift register deve avvenire con una frequenza di ripetizione molto alta. In questo modo si puó simulare un pilotaggio PWM dei LED. http://www.elcojacobs.com/shiftpwm/

Prendi in considerazione anche le stricie LED RGB con controller WS2811 (WS2812 o WS2812A) che possono essere pilotate singolarmente ogni punto in RGB. Non ho trovato un venditore italiano http://www.ebay.it/itm/1m-WS2812B-RGB-Stripe-LEDs-mit-integriertem-WS2811-controller-60-LED-m-/181265178766?pt=DE_Möbel_Wohnen_Beleuchtung&hash=item2a343f208e é piú caro dei cinesi ma il materiale arriva piú veloce. Ti serve anche un alimentatore 5V 4A. Visto che non sono in Multiplex sono molto luminosi.
Ciao Uwe

Grazie @Uwe :smiley:

Il tipo nel video lo usa. Cosa può capitare? Frigge gli integrati o frigge i pin dell'Arduino ?

Il rischio è quello di friggere i registri a scorrimento.

Tieni però conto che in multiplexing (come fa lui) lo stress a cui sono sottoposte le uscite è inferiore rispetto ad un prelievo di corrente continuato, quindi i 595 riescono a reggere.

comunque s vuoi pilotare una matrice 8X8 RGB come quella del video puoi comprare anche un Rainbowduino.
Ciao Uwe

Grazie per le info :slight_smile: