Cablaggio LED RGB


13

Mi chiedevo se fosse possibile collegare 8 singoli LED RGB molto simili alla striscia di adafruit . Ho visto il progetto Pumpkin Pi e vorrei costruirne uno. Non ho nessun LED giallo o rosso, ma ho una piccola scorta di RGB.

So per arduino userei 270ohm resistenze a catodi RGB e controllare ciascun luminosità da una scala 0a 255.

C'è un modo per farlo sul Raspberry Pi?


Aggiornare


Quindi ho esaminato un po 'di più questo. Ho pensato ai tuoi ragazzi di usare il TLC5940driver LED.

Quindi ora sto chiedendo di nuovo aiuto. Ho pensato a una lunga domanda che alla fine risolve questo è meglio di un gruppo sparso attraverso stackexchange. Ora arriva la parte del cablaggio. Sto usando un tutorial sul cablaggio di Arduino come inizio da quando sono in testa. Mi riferisco anche alla scheda tecnica . Secondo lo schema il perno 27 or VPRGmi confonde. Il diagramma di Arduino è stato messo a terra, quindi sto mettendo a terra. . . Come posso collegarlo correttamente al pi? Suppongo anche di aver bisogno di resistori ...

Mi dispiace se sembra davvero stupido, ma sono un vero principiante in queste cose. Devi imparare a gattonare prima di poter camminare.

Cosa devo fare per correggere questo schema elettrico ( fritzing )?

Il file fzz di cablaggio può essere scaricato da Google qui . TLC5940

inserisci qui la descrizione dell'immagine


Aggiornamento 2 - dopo il commento


Tenendo conto di alcune delle risposte e dei commenti, questo sarebbe lo schema elettrico allora? 330ohm ad anodo. 2k ohm da appuntare 20. Come arrivano gli input dal pi al chip? inserisci qui la descrizione dell'immagine


Ooohhh the pumpkin pi =: 0
Piotr Kula,

Vuoi chiarire alcune cose? Vuoi guidare tutti i LED rossi, verdi e blu di 8 LED RGB (che impiegheranno 24 uscite, quindi 8 in più rispetto ai 16 forniti da un TLC5940). Quali LED RGB stai usando? Dobbiamo sapere se sono anodo comune o catodo comune (il cablaggio sembra un catodo comune, che non funzionerà con un TLC5940, che può solo assorbire corrente. Il catodo comune avrà bisogno di un chip diverso). Inoltre, il blu potrebbe non accendersi utilizzando 3,3 V, quindi saranno necessari 5 V. Deve essere attraverso l'elettronica del foro (ad es. DIP) e non il montaggio superficiale. Ti interessa se utilizza 3 chip anziché uno?
Bagliore

@gbulmer Mi dispiace per quello. Non ho il pacchetto in cui sono arrivati ​​i LED, ma penso che tu abbia ragione su Common Cathode in quanto per illuminarli in arduino ho scritto un HIGH. Stasera prenderò un anodo comune dalla radio. Ho 5 chip TLC5940 e non mi importa se li uso tutti. Il motivo per cui vado con DIP è usare una breadboard (piccoli passi). Dopo averlo fatto funzionare, passerò al montaggio superficiale.
atrueresistance l'

Risposte:


4

Vedo due cose che dovrebbero essere affrontate in questa domanda:

  1. Come connettersi e comunicare con TLC5940

  2. Come collegare i LED al TLC5940 .

Per la prima parte, dovrai collegarlo ai pin i2c dell'intestazione P1 del Raspberry Pi (che sono i pin 3 (dati) e 5 (orologio)). È quindi possibile utilizzare il pin 1 (3.3 V) per il VCC del TLC5940 . Si consiglia da 3 V a 5,5 V per l'ingresso secondo la scheda tecnica. Dovrai anche collegare un pin di terra da P1 (ad es. Pin 5) al GND del TLC5940 . E sarà necessario un ulteriore GPIO (es pin 7) per connettersi al TLC5940 segnale XLAT s' per agganciare il valore del registro a scorrimento.

Quindi dovrai configurare il Pi per la comunicazione i2c: assumendo raspbian, rimuovilo i2c-bcm2708da /etc/modprobe.d/raspi-blacklist.conf, caricalo e i2c-deve dovresti ottenere /dev/i2c-0e /dev/i2c-1( i2c-1è quello che dovrai usare per Model B Rev. 2 Pis).

Infine, dovrai utilizzare una transazione i2c per impostare il valore del registro a scorrimento interno e quindi segnalare XLAT (se si utilizza il pin 7, è GPIO 4).

Ho anche trascurato il pin GSCLK. Dovrai fornire un input di clock in modo che il contatore interno aumenti effettivamente, il che può essere fatto da un'altra linea GPIO se è configurato correttamente. Inoltre, non credo che la guida a 3,3 V fornirà corrente sufficiente per questa applicazione ( 50 mA max ). Se passi alla guida a 5 V, puoi disegnare fino a ~ 300 mA , ma allora dovresti usare la logica a 5 V per i2c (e GSCLK), che richiede più componenti.

Per la seconda parte, sembrava che lo avessi gestito da qualche progetto di Arduino passato, a meno che non avessi letto male?


6

Sì. Dovresti usare i pin GPIO in modalità PWM per controllare ogni scala di luminosità. Un esempio del cablaggio wiring.org.co . L'utility GPIO e le guide di Gordons Project sono un altro punto di partenza

inserisci qui la descrizione dell'immagine

modificare

Come ha sottolineato Alex Chamberlain , solo un pin GPIO supporta PWM. È possibile utilizzare il software per ottenere PWM su altri pin GPIO. Informazioni ed esempi per C & Python .

Questo può essere eccessivo, poiché il progetto Pumpkin Pi richiede solo una luce arancione. Se hai una scorta di RGB e il tempo di sperimentare, puoi illuminare un singolo colore LED sull'RGB e mescolarli con altri per generare colori terziari. Un rapporto tra 2 parti di rosso e 1 parte di verde apparirà come arancione. Attivare la metà dei LED rossi creerà l'illusione di sfarfallio arancione al giallo. Ma questa è una teoria del colore ; quale, non ho provato.


1
Non c'è un solo output PWM?
Alex Chamberlain,

Buona domanda. eLinux afferma che tutti i pin GPIO possono essere riconfigurati per PWM; tuttavia, le funzioni di cablaggio generali indicano che solo GPIO-1 (pin 18) supporta PWM. Sezione 6.2 Le assegnazioni di funzioni alternative di BCM2835 elencano tutti i pin PWM; di cui solo uno è presente sul GPIO del pi.
emcconville,

L'articolo di eLinux è scritto male; è leggermente meglio sotto.
Alex Chamberlain,

1
I pin GPIO non riescono davvero a procurarsi o affondare abbastanza corrente per pilotare direttamente i LED
John La Rooy,

1

Qualcosa come un TLC5940 è un buon modo per pilotare più LED PWM

Dai un'occhiata anche al TCA6507 nella nota "Programmazione di luci divertenti" , sebbene non sia disponibile in DIP

Modifica: va bene mantenere il pin VPRG sul TLC5940 collegato a terra. Ciò significa semplicemente che non è possibile utilizzare la "correzione punti" per compensare le variazioni dei LED. Se hai un sacco di LED e vuoi passare al livello successivo di complessità, puoi usare la correzione del punto per accenderli uniformemente.

Il resistore 2k sul pin 20 è necessario per impostare la corrente di uscita.

I OUT = 3.96 * R IREF
I LED normali sono generalmente 20 mA, quindi quella formula fornisce 2k per il resistore


0

Questa è una recensione davvero utile che qualcuno ha fatto su come usare il TLC5940 con un AVR: https://sites.google.com/site/artcfox/demystifying-the-tlc5940

È piuttosto utile per conoscere il processo di apprendimento su come scrivere codice che funziona con TLC5940.

La prima versione del codice di esempio è piuttosto generale. Sto lavorando per convertire tutte le istruzioni #define e le funzioni di basso livello in qualcosa che funzionerà sul Raspberry Pi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.