Pages: 1 2 [3] 4 5 6   Go Down
Author Topic: [RISOLTO]Guida e spiegazione componenti per Cubo led  (Read 5561 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

scusate, ma non è più facile usare dei decoder? ad esempio 74hc138? o non è il massimo?
Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2459
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perche' l'HC138 e' solo un decoder da binario a decimale, e ti da una sola uscita accesa per ogni singola combinazione in ingresso ... hai idea del casino che servirebbe per multiplexare ogni singolo led con uno specifico codice differente, tutti indipendentemente uno dall'altro e tutti in sequenza ? (ed in piu il tutto sarebbe almeno 16 volte piu lento smiley-razz)

Con gli shift, ogni volta che spegni uno strato ed accendi il successivo, tutti i led di quello strato che devono essere accesi si accendono insieme ...
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo, scusa, ma sta parlando di 4x4x4, giusto ? .
Mi ha fregato quando diceva di voler comprare 64 resistenze, pensavo si riferisse ad un cubo 8x8x8. Non vedo il motivo di comprare 64 resistenze per un cubo 4x4, basta prenderne 4 e poi multiplexare sia i piani che le file.

Confermo che col metodo che suggerisci tu, si possono usare 2 shift register soltanto, ma perché appunto si ha un cubo 4x4x4 dove ogni livello sono solo 16 led. Se si avesse un cubo 8x8x8, servirebbero 8 shift register per piano, allora conviene di più ricorrere al doppio multiplexing file/livello.
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perche' l'HC138 e' solo un decoder da binario a decimale, e ti da una sola uscita accesa per ogni singola combinazione in ingresso ... hai idea del casino che servirebbe per multiplexare ogni singolo led con uno specifico codice differente, tutti indipendentemente uno dall'altro e tutti in sequenza ? (ed in piu il tutto sarebbe almeno 16 volte piu lento smiley-razz)

Con gli shift, ogni volta che spegni uno strato ed accendi il successivo, tutti i led di quello strato che devono essere accesi si accendono insieme ...

ma in questo modo non hai che se accendi un solo led di una riga è più luminoso del caso in cui accendi tipo 6 led? con il decoder invece faresti ogni led separatamente e così tutti avranno la stessa luminosità, magari anche sbaglio, e magari non si riesce a gestire tutto con i decoder, era solo un mio pensiero che pensavo pure di provare con uno 8x8x8

e cmq usare un decoder per selezionare i piani è abbastanza intuitivo in quanto devi selezionare un solo piano alla volta smiley
« Last Edit: April 25, 2013, 04:09:49 pm by LeonidRusnac » Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2459
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per selezionare i piani bastano 4 transistor PNP con relative resistenze, non serve alcun decoder ... per il discorso della luminosita', no, perche' le resistenze vanno messe sulle colonne, non sui transistor degli strati ... quindi, anche se in uno strato accendi tutti i led, ognuno di questi led e' alimentato dalla resistenza della relativa colonna, quindi che ce ne sia acceso uno o sedici, ogni led riceve la stessa corrente ed ha la stessa luminosita' (sempre ovviamente che l'alimentatore regga il carico, ma questo e' sottinteso smiley-wink )

>Leo72: anche con l'8x8x8 hanno fatto cubi multiplexati solo sugli strati, con gli shift register in cascata ... dipende tutto dalla velocita' con cui si puo inviare la stringa di bit agli shift register ... poi considera che se ti metti a multiplexare anche le colonne, dovresti pilotare per forza un solo led alla volta, quindi il tempo in cui rimane acceso si divide per il numero delle colonne, e lo stesso la velocita' ... ad esempio, se multiplexi un cubo 8x8x8 sulle colonne, il tempo di accensione, e la relativa luminosita' apparente, diventano 1/64 di quelle di un cubo identico multiplexato a strati soltanto ... ed anche la velocita' complessiva diventa 64 volte piu lenta (oppure se preferisci, per avere la stessa velocita' di animazione, dovresti pilotare il cubo 64 volte piu velocemente smiley-wink ).
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per selezionare i piani bastano 4 transistor PNP con relative resistenze, non serve alcun decoder

si d'accordo ma se si tratta di un cubo 8x8x8 non puoi più farlo in quanto ti servono 8 uscite
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Etemenanki:
sì, chiaro.
Ma io facevo un ragionamento sull'ottimizzazione dei componenti, per capire qual era il rapporto fra luminosità e complessità più vantaggioso.
Logged


Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2459
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

> Leonid : sembra che non gli crei molti problemi, ad arduino, anche a pilotare gli 8x8x8 smiley-wink



senza parlare di realizzazioni decisamente piu fuori dal comune smiley-wink





> leo : a livello di ottimizzazione, secondo me', piu aumenti il numero di led, piu diventa conveniente usare gli shift/drivers, che hanno gia 16 uscite ognuno ... ad esempio, per un 5x5x5, ti bastano 5 transistor PNP con resistenze relative, 2 shift/driver e 2 resistenze ... con gli shiftregister ti servono 5 transistor PNP (e resistenze),  4 shiftregister e le 25 resistenze dei led ... con il multiplexing delle colonne ti servono 4 transistor PNP e 25 transistor NPN (con resistenze), piu le 25 resistenze delle colonne, o le 125 resistenze su ogni singolo led, se scegli quella soluzione per poter multiplexare "a blocchi" anziche' a singolo led .

inoltre, se multiplexando, ad esempio, ad 1 KHz, i led di ogni strato restano accesi ogni volta per circa 1ms, multiplexando i singoli led, ti rimarrebbero accesi per circa 40 microsecondi l'uno ... un po pochino ... per avere la stessa luminosita' apparente di un led alimentato, diciamo, a 10mA con il primo sistema, dovresti alimentarlo a 250mA con il secondo sistema ... non so quanto sia conveniente ...

Quanto invece a livello di software, di sicuro ne sai piu di me in fatto di programmazione, ma ho il sospetto che multiplexare tutte le colonne indipendentemente sia leggermente piu incasinato che limitarsi a spedire stringhe di bit agli shiftregister fra un'accensione e l'altra ... smiley-wink
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

> Leonid : sembra che non gli crei molti problemi, ad arduino, anche a pilotare gli 8x8x8 smiley-wink

ok ho sbagliato, non ho mai usato i shift registers ma intendevo usare 8 shift registers e un decoder per selezionare gli enable dei shift registers uno alla volta poi invece di usare 8 uscite per selezionare gli strati usare un altro decoder cosi ne uso 3 di uscite, sapendo che devo accendere solo un strato per volta
« Last Edit: April 26, 2013, 08:38:34 am by LeonidRusnac » Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2459
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Be', in teoria potresti farlo, ma bisognerebbe vedere poi che fluidita' si riuscirebbe a dare all'animazione ...

Con 8 shift register, o 4 shift/drivers, potresti gestire un cubo 8x8x8 senza tanti problemi in fatto di hardware (il software e' un'altra cosa) ... potresti pilotarli nel modo che hai descritto tu (usando i decoder per abilitare ogni singolo registro e mandando le stringhe separatamente, oppure collegando tutti i registri in cascata e mandando un'unica stringa di 64 bit (qui dipende dal programma, quindi per la fattibilita' devi chiedere ai programmatori) ... diciamo che usando un decoder e dividendo i registri, oltre ovviamente alle 8 linee degli strati, ti servono, anche il clock, il data, e le linee per pilotare il decoder ... mentre se colleghi i registri in cascata, ti servono solo il clock ed il data ... a livello software invece non so quale sia la soluzione piu semplice ... arduino puo generare stringhe binarie di 64 bit e spedirle in modo seriale da un'uscita  ?
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

allora un decoder per selezionare i strati è la cosa migliore poi bisogna decidere se mettere 8 shift registers in cascata oppure dividerli e abilitarli con un decoder, per il numero di uscite cambia solo che separandoli si usano 3 pin in più per il decoder smiley

da quanto ho visto in giro usano la prima opzione cioè mettere i 8 shift registers in cascata
« Last Edit: April 26, 2013, 08:55:11 am by LeonidRusnac » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tempo fa qualcuno disse che più di 8 74HC595 in cascata non si potevano mettere. Io sinceramente non ho provato, sono arrivato a 5 e non ho avuto problemi: con 40 bit, 5 byte, comando le singole uscite.
Ovviamente come dice Etemenanky, poi il software è il secondo problema.
Logged


Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusate ragazzi, gli shift register li ho già acquistati, ora mi mancano i 64 led che comprerò domani e i transistor, qual'è la silga dei transisto da comprare? quelli per selezionare le colonne o i livelli ora non ricordo? smiley-lol inoltre sulle colonne (16) vanno bene le resistenze da 180ohm? userò led blu da 5mm ad alta luminosità
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I led blu di solito hanno una Vf di 3,5V.
Se sono comuni led necessitano di solito di circa 20 mA. Però controlla le loro caratteristiche.
Li alimenti a 5V? Se sì, con 180 ohm gli fornisci 8 mA di corrente, è poca. Ti faranno poca luce.
Logged


Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si li alimento con i 5v di arduino
Logged

Pages: 1 2 [3] 4 5 6   Go Up
Jump to: