Come devo illuminare tutti i LED?


8

Sto lavorando su un cubo LED 4x4x4. Ho collegato tutti i terminali negativi dei LED in uno strato orizzontale tra loro e sto usando un pin Arduino per strato. Ho collegato tutti i terminali positivi a LED di una colonna verticale e controllo ciascuna colonna tramite un pin.

Quindi, 16 pin utilizzati per le colonne e 4 pin utilizzati per i livelli orizzontali. I pin alimentano e affondano direttamente i LED.

Dai miei calcoli, posso accendere almeno 16 LED contemporaneamente prima di raggiungere i limiti attuali. Quindi, se voglio illuminare tutti gli strati contemporaneamente, senza bruciare la scheda, come devo procedere?


@MarkBooth Affondamento diretto in un pin I / O.
asheeshr,

Risposte:


5

In generale, questi cubi a led usano la persistenza della visione e il multiplexing per ridurre al minimo il numero di fili e pin IO digitali per una data dimensione di cubo, ma nel tuo caso puoi anche usarlo per ridurre la corrente complessiva assorbita dal cubo. Invece di accendere o spegnere un LED, faresti lampeggiare il led più volte al secondo per fornire una luminosità apparentemente continua ma con un assorbimento di corrente molto più basso.

Ad esempio, se è possibile alimentare continuamente 16 LED ma è necessario alimentare 64 LED, è possibile farlo se si dispone di un ciclo di funzionamento del 25%. Ogni LED verrà acceso per un quarto del tempo e spento per tre quarti del tempo, quindi sarà 1/4 della luminosità del LED continuamente alimentato ma consumerà anche solo 1/4 della potenza.

Se riesci a scorrere tra i 4 piani ogni 5 ms (50Hz), a seconda della luminosità dei LED del cubo le persone che guardano direttamente sul cubo probabilmente non noteranno lo sfarfallio, ma chiunque guarderà altrove noterà probabilmente lo sfarfallio dietro l'angolo dei loro occhi. A 2ms (125Hz) poche persone noterebbero lo sfarfallio, anche con la coda dell'occhio.

Per ulteriori informazioni, dai un'occhiata alla pagina di Wikipedia sulla soglia di fusione dello sfarfallio .


6

Il modo migliore per farlo è il multiplexing .

Questo è il modo in cui funzionano i monitor / display (cellulare, laptop e così via). Consiglierei anche i registri a turni (come ho scritto in questo argomento )

Spero che aiuti!


3

Il TLC5940 di Texas Instruments è un altro modo per guidare facilmente i LED dall'arduino. Apparentemente puoi collegarli a margherita fino a 40 di essi insieme. Ci sono così tante buone informazioni sulla pagina del parco giochi di Arduino. Per favore, dai un'occhiata.

Ecco un esempio di un utente del forum arduino di nome saeveritt che illustra un'idea di come apparirebbe lo schema elettrico. Segui i link per sapere come alimentare così tanti LED usando questa tecnica.

inserisci qui la descrizione dell'immagine


1

Penserei che con un numero adeguato di transistor potresti cambiare le cose senza dover affondare tutta la corrente del LED attraverso un pin Arduino.

Non indichi la tua fonte di alimentazione, ma lo farei alimentando i LED direttamente (non tramite Arduino) e usando Arduio per capovolgere gli interruttori a transistor.


Puoi spiegarlo di più su come farlo ... forse un link o un esempio schematico?
Pinguino anonimo il

@annonomus person - Assumiamo una fonte 5v. Penso invece di "5v> pin Arduino> gruppo di LED> massa" si farebbe "5V> pin Arduino> base transistor NPN" e "5v> collettore transistor> emettitore transistor> gruppo di LED> terra". Scrivi "alto" sulla base NPN dall'Arduino per capovolgere il transistor e accendere i LED senza affondare la corrente attraverso il pin Arduino.
MikeY,

Lo so, ma intendo quale transistor useresti? Qualcuno che incontrerebbe la corrente? Voglio dire, come si calcola quanta tensione e saturazione sono necessarie per alimentarlo, ecc.?
Pinguino anonimo

Penso che coloro che conoscono userebbero un MOSFET di fantasia. Lo proverei con un 2N3904 perché ne ho un sacco a portata di mano.
MikeY,
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.