Académique Documents
Professionnel Documents
Culture Documents
Come costruire un led cube 8x8x8 (Italian version) Print PDF Favorite Email
56 Author: agofi
Followers
Follow
2
Probabilmente siete capitati in questa pagina perche' avete visto uno dei tanti video sui led cube che
circolano per la rete ed avete deciso di costruirne uno tutto vostro..
Bene, sono felice di informarvi che siete arrivati nel posto giusto: qui troverete i miei appunti, le immagini
per la costruzione, il codice sorgente del programma sviluppato da me per controllare il cubo ed anche
diversi video dimostrativi.
Prima di mettervi all'opera leggete tutto, e' meglio avere una visione globale del progetto prima di
cominciare.
Prima di passare alla pratica, come ogni cosa e' necessaria una breve lezioncina teorica tanto per capire
di cosa stiamo parlando.
L'alimentazione:
Per alimentare il cubo e il circuito di comando e' necessario un alimentatore con le seguenti
caratteristiche:
- Tensione di uscita: 5 Volts stabilizzate
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012
Come costruire un led cube 8x8x8 (Italian version)#step6#step6#step6#step6 Page 2 of 8
IMMAGINI:
- cubo finito e funzionante
Strumenti necessari:
- Saldatore
- Stagno
- Pistola per colla a caldo
- Seghetto alternativo
Materiali necessari:
- 512 led del vostro colore preferito
- 1 cavo flat da 40 pin (usato per il collegamento degli hard disk IDE al pc)
- 1 cavo flat da 34 pin (usato per il collegamento dei floppy disk al pc)
- 1 basetta millefori
- 1 tavoletta di legno compensato 20x20 cm da 8 mm di spessore
- Filo elettrico adatto alle saldature (fine e malleabile ma allo stesso tempo resistente)
Costruzione:
Prendiamo la tavoletta di compensato e disegnamo una griglia 7x7 quadretti con 2,5 cm di lato. In
corrispondenza degli incroci delle linee facciamo 64 fori con una punta di diametro pari a quello dei led,
generalmente 0,5 cm. Questa sara' la base su cui andremo a saldare tutti i led insieme, in questo modo i
ledi saranno distanziati con precisione l'uno da l'altro cosi', quando andremo ad unire insieme i vari piani,
essi saranno perfettamente allineati.
Come detto in precedenza i catodi di ogni singolo livello devono essere uniti tra di loro:
Inseriamo 64 led nei fori appena fatti e pieghiamo i terminali dei catodi (-) in modo da formare una griglia
comunicante.
Fate uscire dalla tavoletta di legno solo 1 filo di collegamento, servira' per comandare il livello.
Mi raccomando: ogni volta che avrete terminato di saldare un livello testate tutti i led uno per uno, meglio
accorgersi subito se qualche led e' bruciato oppure saldato male.
Dovete fare 8 griglie di led uguali, con l'accortezza di far uscire dalla tavoletta il connettore del catodo in
posti differenti dai livelli saldati in precedenza.
VEDI FIG. 04
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012
Come costruire un led cube 8x8x8 (Italian version)#step6#step6#step6#step6 Page 3 of 8
Una volta costruiti tutti gli 8 livelli possiamo passare ad unirli insieme.
Ponete nuovamente uno per volta le griglie di led sulla tavoletta. Piegate gli anodi (+) come si vede
nell'immagine. Questo serve per saldare tutti gli anodi della stessa colonna con un filo dritto, senza dover
fare pieghe per evitare i led.
Una volta che tutti i led sono pronti prendete il filo e tagliatelo in 64 pezzetti da 20 cm circa. Spelate tutti i
fili togliendo la copertura in plastica e cercate di renderli il piu' dritti possibile (non vogliamo mica costruire
il cubo di Pisa!). Piu' i fili saranno dritti piu' il cubo verra' bene.
Ogni led dovra' essere distante 1,5 cm da quello sopra e cosi' via.
VEDI FIG. 06
Poggiate il primo livello del cubo (quello che dovra' stare in alto) sulla tavoletta in corrispondenza dei fori.
Saldate tutti e 64 i fili preparati in precedenza agli altrettanti anodi (+) dei led che avete posto sulla
tavoletta. Una volta finito inserite dall'alto la griglia successiva e continuate a saldare.
Ogni volta che finite di saldare un livello testate sempre il funzionamento di ogni singolo led. Se, una volta
finito, per qualche sfortunato motivo un led all'interno del cubo non dovesse funzionare sarebbe
difficilissimo sostituirlo. Meglio spendere del tempo a verificare il funzionamento di ogni led che dover fare
a pezzi il cubo dopo averlo gia' montato.
Non sara' una cosa facile, armatevi di molta pazienza& posso solo dirvi che via via che inserirete le
griglie sara' sempre piu' facile perche' i fili delle colonne saranno sempre piu' stabili.
VEDI FIG. 08
VEDI FIG. 09
Una volta finito di unire tutti i livelli dovete portare tutti i catodi (-) di ogni singolo livello alla base del cubo
(che ricordiamo in questo momento si trova in alto in quanto il cubo e' capovolto). Quindi pieghiamo i
terminali uscenti da ogni livello a 90 gradi e saldiamo ai loro capi dei filetti come quelli utilizzati per le
colonne.
A questo punto possiamo togliere la tavoletta di legno per portarla in cima al cubo, dove sbucano i filetti
di ferro delle colonne e dei vari livelli. Prima pero' pratichiamo altri 8 piccoli fori sulla tavoletta per far
passare i fili dei catodi. Poniamo la tavoletta in cima al cubo stando attenti a far corrispondere ogni foro
della tavoletta con il filo di ogni colonna del cubo e con i vari filetti dei livelli. Utilizziamo i 4 pezzetti di
legno di prima per distanziare la tavoletta di legno dall'ultimo livello dei led.
Tagliamo una basetta millefiori facendo 64 quadretti di 3x3 fori. Serviranno per fissare i terminali delle
colonne e dei livelli alla tavoletta.
VEDI FIG. 10
Una volta preparati tutti i quadretti riempite con la colla a caldo un foro della tavoletta per volta inserendo
subito dopo ogni quadretto al proprio posto: dovete far passare il filo della colonna interessata all'interno
del foro centrale del quadretto. Quando la colla sara' fredda il filo non si muovera' piu'.
NB: 8 di questi quadretti dovranno ospitare sia un catodo di un livello, sia un anodo di una colonna.
Una volta che avete fissato tutti i 64 quadretti saldate tutti i fili alla basetta millefiori e tagliate con la
tronchesina il filo in eccesso. In questo modo sara' molto facile saldare i vari fili di collegamento ad ogni
anodo e catodo.
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012
Come costruire un led cube 8x8x8 (Italian version)#step6#step6#step6#step6 Page 4 of 8
A questo punto abbiamo quasi terminato la costruzione del nostro cubo, manca solo da saldare i vari fili
di collegamento ad ogni terminale del cubo, ma rimandiamo questa operazione a dopo in quanto
dobbiamo prima definire la posizione dei vari pin sul circuito di comando.
Cenni teorici:
Il circuito di comando fondamentalmente e' composto da:
- 8 shift register da 8 bit (tot. 64 bit) che attivano/disattivano ogni singola colonna del cubo
- 1 shift register collegato a 8 transistor NPN per attivare/disattivare ogni singolo livello.
- 2 connettori da 40 e 34 pin per il collegamento con il cubo
- 1 connettore da 12 pin per il collegamento con la porta parallela
Perche' colleghiamo gli 8 transistor NPN allo shift register dei livelli? Come sappiamo i led di ogni livello
hanno il catodo (-) in comune quindi per abilitarli dobbiamo collegarvi il segnale di massa. Il problema e'
che lo shift register dei livelli ha come output un segnale a livello alto (livello logico 1, equivale a Vcc) in
ogni pin attivato. C'e' bisogno di un componente che, dato un segnale a livello logico 1, abiliti il passaggio
della corrente di massa. Questo componente e' il transistor. Esso si comporta come un interruttore: se il
piedino della base viene posto a livello logico 1 i piedini del collettore e dell'emettitore vengono collegati
insieme.
Strumenti necessari:
- Saldatore
- Stagno
- Tronchesine
Materiali necessari:
- 9 shift register da 8 bit (i miei sono i 74HC164B)
- 9 zoccoletti per gli shift register
- 8 transistor NPN (i miei sono i 2N3904)
- 70 resistenze da 100 ohm
- 8 resistenze da 1500 ohm
- 1 basetta millefori
- 2 connettori da 40 e 34 pin per il collegamento con il cubo
- 1 connettore da 12 pin per il collegamento con la porta parallela
- 3 connettori da 2 pin per il collegamento dell'interruttore di accensione, del led di accensione e del cavo
di alimentazione
- 1 led rosso/verde (led di accensione)
- 1 interruttore (interruttore di accensione)
- 1 connettore maschio per alimentatori
- 3 cavetti a 2 poli con connettore alla fine (come quelli usati nei pc per collegare i led sul pannello
frontale alla mother board)
- Filo elettrico adatto alle saldature (fine e malleabile ma allo stesso tempo resistente)
Una volta che siete riusciti a procurarvi tutti i componenti sopra elencati potete cominciare con la
costruzione del circuito di controllo. Usate lo schema che trovate tra le immagini.
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012
Come costruire un led cube 8x8x8 (Italian version)#step6#step6#step6#step6 Page 5 of 8
Innanzi tutto cominciate a posizionare i componenti a vostro piacimento sopra la basetta (oppure
utilizzate la stessa disposizione che ho scelto io), tanto per rendervi conto del loro ingombro effettivo.
Una volta che avrete trovato la posizione finale di ogni singolo componente vi consiglio di disegnarvi
attorno dei rettangoli con una matita per delinearne l'ingombro effettivo: cosi', anche quando andrete a
riposizionarli via via che saldate, saprete con certezza dove deve stare. Infatti non potete tenere i
componenti sulla basetta mentre saldate perche' dovrete capovolgerla per effettuare le saldature.
A questo punto armatevi di mooooooolta pazienza ed effettuate i collegamenti tra i vari componenti
principali. In un secondo tempo collegate ogni resistenza/transistor ai connettori per il collegamento al
cubo. Segnate su di un foglio tutte le corrispondenze USCITE SHIFT REGISTER-->PIN CONNETTORI,
saranno indispensabili quando andremo a saldare i vari fili di collegamento ad ogni terminale del cubo.
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012
Come costruire un led cube 8x8x8 (Italian version)#step6#step6#step6#step6 Page 6 of 8
ATTENZIONE: se i pin non verranno collegati come descritto qui sopra il software di controllo non
funzionera'.
Costruzione dei cavi per l'interruttore di accensione, led di accensione e cavo di alimentazione:
Per tutti e 3 i cavetti dovete semplicemente saldare i vari componenti ai fili.
La base e' necessaria per nascondere e proteggere il circuito di controllo e per posizionare in modo
stabile tutti i cavi di collegamento con il pc e con il cubo.
Strumenti necessari:
- Cacciaviti (o martello)
- Colla Vinavil
- Mini dremel
- Bomboletta spray di colore nero
- Spatola per stucco
- Stucco per legno
- Carta vetrata fine
Materiali necessari:
- 1 tavoletta di legno compensato 20x20 cm da 8 mm di spessore
- 2 tavoletta di legno compensato 20x6,8 cm da 8 mm di spessore (per i lati della base)
- 2 tavoletta di legno compensato 21,6x7,6 cm da 8 mm di spessore (per gli altri due lati della base)
- circa 25 viti da legno (o dei chiodini)
Avviciniamo tutte le tavolette come per formare una scatola (vedi foto) e prepariamoci ad unirle. Prima di
inserire le viti applichiamo della colla vinavil tra un pezzo e l'altro, in questo modo, una volta seccata la
colla potremo rimuovere le viti senza che la scatola si smonti. Il coperchio di questa scatola sara' il
cubo che abbiamo costruito all'inizio. Al posto delle viti potete utilizzare dei piccoli chiodini, ma ricordatevi
che dovrete levarli in seguito utilizzando una piccola tenaglia o delle pinzette.
Appena la colla e' asciutta leviamo tutte le viti (o i chiodini) e riempiamo i fori con dello stucco per legno,
aiutandoci con la spatola per farlo penetrare bene.
Una volta modellati i fori passiamo della carta vetrata lungo tutte le parti esterne della base. In particolare
insistiamo un po' di piu' sugli angoli, smussandoli. Non appena tutta la superficie esterna sara' liscia
possiamo passare alla colorazione: con la bomboletta spray fate dei passaggi senza stare troppo vicini
alla superficie da colorare. I passaggi devono essere rapidi e fluidi, altrimenti si formeranno delle gocce di
vernice che comprometteranno la qualita' del vostro lavoro. In alternativa potete utilizzare anche della
vernice da dare con il pennello, forse sara' piu' facile.
Quando la scatola sara' terminata potete fissare i vari cavi di collegamento e appoggiare il circuito di
comando sul fondo della scatola, avendo l'accortezza di porvi sotto un materiale morbido come la
gommapiuma o del pluriball, tanto per prevenire eventuali danneggiamenti. Collegate i cavi agli appositi
connettori sul circuito di comando e ponete il cubo di led sopra la scatola, utilizzandolo come fosse un
coperchio. Collegate i cavi provenienti dal cubo al circuito di comando.
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012
Come costruire un led cube 8x8x8 (Italian version)#step6#step6#step6#step6 Page 7 of 8
Adesso potete collegare il vostro cubo all'alimentatore e al pc. Usate il programma di controllo per creare
le vostre animazioni. Buon divertimento!
Step 6 Il software
Il software di controllo e' scritto in linguaggio Visual Basic. Il codice e' da inserire in un modulo nel vostro
progetto visual basic. E' inoltre necessario inserire anche la libreria inpout32.dll (potete reperirla
cercando il nome del file su google oppure scaricando il file PROGRAMMI.ZIP allegato qui sotto) nella
cartella c:\windows\system32 del vostro pc.
Potete trovare qualche spiegazione (in inglese) sul funzionamento della porta parallela qui:
http://logix4u.net/Legacy_Ports/Parallel_Port.html
In ogni momento lo stato del cubo e' memorizzato nella matrice StatoCubo, tramite un timer si genera un
evento ogni pochi ms che si preoccupa di accendere ogni led secondo lo stato memorizzato nella
matrice.
NOTA BENE: questo modulo si occupa di visualizzare sul cubo il contenuto della matrice StatoCubo.
DOVETE GESTIRE DA SOLI I VARI CAMBIAMENTI DEI VALORI DELLA MATRICE!!!
Se volete qualcosa gia' pronto nel file PROGRAMMI.ZIP allegato qua sotto trovate i programmi
che praticamente fanno tuttto:'
Gestione led cube 0.5.3 --> gestione manuale e tramite timeline del cubo
level meter con monoton --> riproduttore MP3 freeware con controllo led cube (equalizzazione del
segnale)
inpout32.dll --> libreria per la gestione della porta parallela (necessaria per il funzionamento dei
programmi)
La matrice StatoCubo:
La matrice StatoCubo e' composta da 8 vettori ognuno di 64 elementi. Ogni vettore rappresenta lo stato
di un intero livello, ogni elemento del vettore rappresenta lo stato di 1 singolo led: 1 = acceso, 0 = spento.
La funzione ScriviCubo:
Questa funzione viene richiamata ciclicamente tramite un timer e si occupa di trasmettere il contenuto
della matrice StatoCubo al cubo vero e proprio.
La funzione ClokkaLed:
Questa funzione viene richiamata dalla funzione ScriviCubo e si occupa di dare un colpo di clock agli shift
register delle colonne modificando SOLAMENTE il bit del clock. In questo modo il bit posto all'ingresso
del primo shift register delle colonne viene acquisito.
La funzione ClokkaLivello:
Questa funzione viene richiamata dalla funzione ScriviCubo e si occupa di dare un colpo di clock allo shift
register dei livelli modificando SOLAMENTE il bit del clock. Se il livello da attivare e' il primo, viene posto
un 1 all'ingresso dello shift register. Per i successivi livelli il bit in ingresso sara' 0, verra' solamente dato
un colpo di clock per far scorrere il bit del primo livello in avanti. Cosi' i livelli si accenderanno in
sequenza, uno alla volta.
La funzione ClearAll:
Utilizzando questa funzione viene attivato il piedino clear su entrambi gli shift register. Tutti i bit contenuti
negli shift register saranno posti a 0, di conseguenza il cubo risultera' totalmente spento.
La funzione Aspetta:
Questa e' la funzione utilizzata per ritardare il ciclo di aggiornamento dei vari livelli. Senza questa i led dei
vari livelli si accenderebbero e si spegnerebbero troppo velocemente non riuscendo ad illuminarsi
correttamente.
'-------------------------------------------------------VARIABILI GLOBALI----------------------------------------------------
Public StatoCubo(1 To 8, 1 To 64) As Integer 'variabile che contiene lo stato attuale di TUTTO il cubo
'-------------------------------------------------------------FUNZIONI--------------------------------------------------------
Public Function ScriviCubo(NumeroCicli As Integer) 'funzione per scrivere sul cubo lo stato memorizzato
nella matrice StatoCubo
Dim ByteLpt As Byte
Dim ContaLivelli As Integer
Dim ContaLed As Integer
Dim ContaCicli As Integer
For ContaCicli = 1 To NumeroCicli 'ciclo per mantenere inalterato lo stato da rappresentare per X cicli
For ContaLivelli = 1 To 8 'scorro tutti i livelli impostandoli completamente uno alla volta
'imposto tutti i bit dello shift reg. delle colonne senza clokkare sullo shift reg. dei livelli e disattivando
SEMPRE entrambi i clear (xx 01x _1_)
For ContaLed = 64 To 1 Step -1 'For ContaLed = 1 To 64
'SHIFT REG. LIVELLI:
'MSB (D5) = 0 --> clock disattivato
'CENTRALE (D4) = 1 (valore=16)--> clear disattivato
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012
Come costruire un led cube 8x8x8 (Italian version)#step6#step6#step6#step6 Page 8 of 8
If ContaLivelli = 1 Then 'se sto' impostando il primo livello invio un 1 all'interno dello shift reg. dei livelli, in
seguito inviero' soltanto il segnale di clock cosi' l'1 scorrera' fino in fondo attivando un livello alla volta
ByteLpt = (0 + 16 + 8) + (0 + 2 + 0)
Else
ByteLpt = (0 + 16 + 0) + (0 + 2 + 0)
End If
Call ClokkaLivello(ByteLpt) 'passo il valore alla funzione che da' un colpo di clock allo shift reg. dei livelli
Call Aspetta(60000) 'richiamo la funzione per generare un ritardo (il cubo smette di lampeggiare dai
60000 ai 70000 cicli)
Call ClearAll 'richiamo la funzione per attivare il clear su entrambi gli shift register (spengo tutti i led del
cubo)
Next ContaCicli
End Function
Public Function ClokkaLed(Valore As Byte) 'da' un colpo di clock agli shift reg. delle colonne (modifica
SOLAMENTE il bit del clock)
Out Val(IndirizzoData), Val(Valore) 'clock DISATTIVATO
'aggiungo 4 perche' devo mettere ad 1 il bit del clock degli shift reg. delle colonne x dare il colpo di clock
Out Val(IndirizzoData), Val(Valore + 4) 'clock ATTIVATO
End Function
Public Function ClokkaLivello(Valore As Byte) 'da' un colpo di clock allo shift reg. dei livelli (modifica
SOLAMENTE il bit del clock)
Out Val(IndirizzoData), Val(Valore) 'clock DISATTIVATO
'aggiungo 32 perche' devo mettere ad 1 il bit del clock dello shift reg. dei livelli x dare il colpo di clock
Out Val(IndirizzoData), Val(Valore + 32) 'clock ATTIVATO
End Function
Public Function ClearAll() 'funzione per attivare il clear su entrambi gli shift register (spengo tutti i led del
cubo)
Dim ByteLpt As Byte
'attivo il clear su entrambi gli shift register (valore=0) cosi' li azzero (xx x0x x0x)
ByteLpt = 0 '00 000 000
Out Val(IndirizzoData), Val(ByteLpt)
End Function
Public Function Aspetta(Ncicli As Long) 'funzione per ritardare il ciclo di aggiornamento dei livelli
Dim Contatore As Long
Dim Contato As Long
http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/?ALLSTEPS 06/07/2012