[RISOLTO]Guida e spiegazione componenti per Cubo led

Etemenanki:

Leonid : sembra che non gli crei molti problemi, ad arduino, anche a pilotare gli 8x8x8 :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

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 ?

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 :slight_smile:

da quanto ho visto in giro usano la prima opzione cioè mettere i 8 shift registers in cascata

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.

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? XD inoltre sulle colonne (16) vanno bene le resistenze da 180ohm? userò led blu da 5mm ad alta luminosità

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.

si li alimento con i 5v di arduino

Ti sei fatto un po' di conti delle correnti in gioco?
Se l'Arduino è collegato al PC non può erogare più di 500 mA dal pin 5V, a cui devi scalare la corrente consumata dal chip.

no non ne ho idea di come fare questi conti :S, potrei alimentarlo con una pila da 9v nel caso

Devi sommare la corrente consumata dal numero massimo di led che staranno accesi contemporaneamente.
Per calcolare la corrente consumata da un led, usi la formula I=(V-Vf)/R dove V è la tensione di alimentazione, Vf la tensione di giunzione del led e R la resistenza usata. I la corrente.
Con l'esempio di prima:
(5-3,5)/100 = 0,015A

Per capire, se tu accendessi tutti i 64 led insieme, consumeresti quasi 1A di corrente! Il doppio di quello che l'Arduino ti può offrire. Una batteria da 9V eroga generalmente sui 200 mAh.

Ora ad esser sincero io non mi ricordo più come questi 64 led tu li volevi accendere... quindi non so cosa c'è in ballo.

Fai presto a calcolarlo ... se i layer sono multiplexati, il massimo numero possibile di led accesi contemporaneamente e' 16 (tutti quelli del layer acceso a turno), e considerando che in media quei circuiti sono calibrati per circa 15mA per led (per una buona visibilita' del tutto), 15 * 16 = 240mA ( piu il consumo del resto del circuito, ovviamente :wink: )

Mi sa che una pila da 9V durerebbe 10 minuti o poco piu :stuck_out_tongue: ... meglio un pacchetto di alkaline o di ricaricabili :slight_smile:

Ora ad esser sincero io non mi ricordo più come questi 64 led tu li volevi accendere... quindi non so cosa c'è in ballo.

In pratica è un cubo led 4x4x4 pilotato con 2 74hc595, mi server per pilotarlo tramite sito web per un progetto da portare all'esame di maturità

Quindi al max accenderai 4x4=16 led, cioè un piano, giusto?
Ammettendo l'uso di R da 100 ohm, per avere 15 mA per led, avrai 15x16=240 mA di corrente per i led di un piano, più quella necessaria al circuito e all'Arduino. Ci dovresti rientrare con la corrente fornita dalla porta USB.
Come transistor, se vuoi usare gli NPN prendi i BC337-40 o i 2N2222 che reggono 800 mA l'uno, così stai sicuro :wink:

e quanti transistor?
ma quindi se io voglio accendere ad esempio 20 led su livelli diversi, non posso?

toti94:
e quanti transistor?

Ma ti sei fatto uno schemettino di come fare i collegamenti?

ma quindi se io voglio accendere ad esempio 20 led su livelli diversi, non posso?

Puoi anche accenderli tutti e 64, ma multiplexandoli. Ossia accendendo i led di ogni singolo livello per un breve tempo e poi passare a quelli successivi.

Si ma ho improvvisato un disegnino a matita XD

Comunque lo schema ce l'ha, compra i componenti in base ad esso. Io posso suggerirti una cosa e tu volerne fare un'altra :wink:

ok appena possso vado subito a comprarli XD
Dici che ce la faccio in 1 mese? :S

Il codice sarà il tuo problema principale, se non hai mai fatto questo genere di progetti basati sul multiplexing.
Ti conviene, intanto che aspetti i componenti, di cercare "arduino led cube 4x4x4" su internet e studiarti un pò di sorgenti. :wink:

Mentre costruivo il cubo led, mi è venuta in mente un'idea pazza XD
E se facessi una piramide led a posto del solito cubo? XD
La logica sarebbe la stessa, ma l'effetto magari sarebbe migliore.... voi che dite?