Sommario:

LED Cube 4x4x4: 11 passaggi (con immagini)
LED Cube 4x4x4: 11 passaggi (con immagini)

Video: LED Cube 4x4x4: 11 passaggi (con immagini)

Video: LED Cube 4x4x4: 11 passaggi (con immagini)
Video: 4×4×4 LED Cube Light Using Arduino nano | Electronic Project 2024, Luglio
Anonim
Cubo LED 4x4x4
Cubo LED 4x4x4
Cubo LED 4x4x4
Cubo LED 4x4x4
Cubo LED 4x4x4
Cubo LED 4x4x4

Incredibile display a LED tridimensionale. 64 LED compongono questo cubo 4 per 4 per 4, controllato da un microcontrollore Atmel Atmega16. Ogni LED può essere indirizzato individualmente nel software, consentendogli di visualizzare incredibili animazioni 3D! Cubo LED 8x8x8 ora disponibile, a grande richiesta:

Passaggio 1: cosa ti serve

Quello di cui hai bisogno
Quello di cui hai bisogno

Prima di tutto, è necessario un po' di tempo per saldare insieme 64 led;) Elenco delle conoscenze:

  • Elettronica di base e competenze di saldatura
  • Sapere come programmare un microcontrollore AVR - non lo tratterò in questo tutorial.

Elenco dei componenti:

  • Scheda prototipi. Il tipo con cerchi di rame.
  • Microcontrollore Atmel AVR Atmega16
  • Programmatore per programmare l'Atmega16
  • 64 LED
  • 2 led di stato. Ho usato il rosso e il verde. (opzionale)
  • Chip Max232 rs-232 o equivalente.
  • 16 resistenze per led. (100-400 ohm) tornerà a questo.
  • 2x resistore da 470 ohm. per i led di stato
  • 1x resistenza 10k
  • 4x resistenza 2.2k
  • 4x transistor NPN BC338 (o altro transistor in grado di commutare 250-ish mA)
  • 1x condensatore da 10uF
  • 1x condensatore da 1000uF
  • Condensatore ceramico 6x 0.1uF
  • Condensatore ceramico 2x 22pF
  • 1x cristallo 14,7456 MHz
  • 2x pulsanti tattili
  • interruttore pwr opzionale
  • connettore per alimentazione 12v
  • connettore opzionale per alimentazione 5v

Passaggio 2: multiplexing

multiplexing
multiplexing
multiplexing
multiplexing

Come controllare 64 LED senza utilizzare 64 fili singoli? Multiplexing!

Far passare un filo all'anodo di ciascun led sarebbe ovviamente poco pratico e sembrerebbe davvero pessimo. Un modo per aggirare questo problema è dividere il cubo in 4 strati di 16x16 LED. Tutti i LED allineati in una colonna verticale condividono un anodo comune (+). Tutti i LED su uno strato orizzontale condividono un catodo comune (-). Ora, se voglio accendere il LED nell'angolo in alto a sinistra nella parte posteriore (0, 0, 3), fornisco solo GND (-) allo strato superiore e VCC (+) alla colonna nell'angolo sinistro. Se voglio accendere solo un led alla volta, o solo più di uno strato contemporaneamente, funziona bene. Tuttavia, se voglio illuminare anche l'angolo in basso a destra nella parte anteriore (3, 3, 0), ho dei problemi. Quando fornisco GND allo strato inferiore e VCC alla colonna anteriore sinistra, accendo anche il led in alto a destra nella parte anteriore (3, 3, 3) e il LED in basso a sinistra nella parte posteriore (0, 0, 0). Questo effetto fantasma è impossibile da aggirare senza aggiungere 64 fili singoli. Il modo per aggirare il problema è illuminare solo uno strato alla volta, ma farlo così velocemente che l'occhio non riconosce che solo uno strato è acceso in qualsiasi momento. Questo si basa su un fenomeno chiamato Persistenza della visione. Ogni livello è un'immagine 4x4 (16). Se eseguiamo il flash di 4 16 immagini led una alla volta, molto velocemente, otteniamo un'immagine 3d 4x4x4!

Passaggio 3: creazione del cubo, modello

Fare il cubo, modello
Fare il cubo, modello
Fare il cubo, modello
Fare il cubo, modello
Fare il cubo, modello
Fare il cubo, modello

Saldare griglie di LED 4x4 a mano libera sarebbe terribile! Per ottenere 4 griglie di LED 4x4 perfette, usiamo un modello per tenerle in posizione. Volevo rendere il cubo il più semplice possibile, quindi ho scelto di usare i LED proprie gambe il più possibile. La distanza tra le linee nella griglia è stata decisa dalla lunghezza delle gambe del LED. Ho scoperto che 25 mm (circa un pollice) era la distanza ottimale tra ciascun led (tra il centro di ogni led cioè!) per consentire la saldatura senza aggiungere o tagliare il filo.

  • Trova un pezzo di legno abbastanza grande da creare una griglia 4x4 di 2,5 cm.
  • Disegna una griglia di linee 4x4.
  • Fai delle ammaccature in tutte le intersezioni con un punzone centrale.
  • Trova una punta da trapano che faccia dei fori abbastanza piccoli in modo che il led rimanga saldamente in posizione e abbastanza grande da poter estrarre facilmente il led (senza piegare i fili..).
  • Praticare i 16 fori.
  • Il tuo modello ledcube è pronto.

Passaggio 4: creare il cubo, saldare gli strati

Fare il cubo, saldare gli strati
Fare il cubo, saldare gli strati
Fare il cubo, saldare gli strati
Fare il cubo, saldare gli strati
Fare il cubo, saldare gli strati
Fare il cubo, saldare gli strati

Realizziamo il cubo in 4 strati di led 4x4, quindi li saldiamo insieme. Crea uno strato:

  • Inserisci i LED lungo la parte posteriore e lungo un lato e saldali insieme
  • Inserisci un'altra fila di LED e saldali insieme. Fai una riga alla volta per lasciare posto al saldatore!
  • Ripeti il passaggio precedente altre 2 volte.
  • aggiungere una controventatura nella parte anteriore dove le file di led non sono collegate.
  • Ripetere 4 volte.

Passaggio 5: creare il cubo, collegare i livelli

Fare il cubo, collegare gli strati
Fare il cubo, collegare gli strati
Fare il cubo, collegare gli strati
Fare il cubo, collegare gli strati
Fare il cubo, collegare gli strati
Fare il cubo, collegare gli strati

Ora che abbiamo quei 4 strati, tutto ciò che dobbiamo fare è saldarli insieme.

Rimetti uno strato nel modello. Questo sarà il livello superiore, quindi scegli quello più carino:) Metti un altro livello sopra e allinea uno degli angoli esattamente 25 mm (o qualsiasi distanza tu abbia usato nella griglia) sopra il primo livello. Questa è la distanza tra i fili del catodo. Tenere l'angolo in posizione con una mano e saldare l'anodo d'angolo del primo strato all'anodo d'angolo del secondo strato. Fallo per tutti gli angoli. Controlla se i livelli sono perfettamente allineati in tutte le dimensioni. In caso contrario, piegati un po' per regolare. O ri-saldare è la distanza in altezza che è disattivata. Quando sono perfettamente allineati, saldare insieme i restanti 12 anodi. Ripetere 3 volte.

Passaggio 6: scelta dei valori del resistore

Scelta dei valori del resistore
Scelta dei valori del resistore
Scelta dei valori del resistore
Scelta dei valori del resistore

Ci sono due cose da tenere a mente quando si sceglie un valore di resistenza per i propri led.

1) I LED 2) L'AVR L'AVR ha una corrente massima combinata di 200 mA. Questo ci dà 12 mA con cui lavorare per LED. Inoltre, non vuoi superare la corrente massima a cui sono classificati i tuoi led. Ho usato resistori da 220 ohm sul mio cubo. Questo mi ha dato circa 12 mA per led.

Passaggio 7: il controller

Il controllore
Il controllore
Il controllore
Il controllore
Il controllore
Il controllore

I circuiti che controllano il cubo led sono descritti nell'immagine schematica allegata.

L'interfaccia RS-232 è opzionale. e può essere omesso. Questo è IC2 e tutti i componenti ad esso collegati. I firmware futuri consentiranno la comunicazione con il PC. Inizia disponendo tutti i componenti sulla scheda del circuito in un layout che consenta a tutti i componenti di connettersi con una quantità minima di fili. Se tutto si adatta, saldare il circuito. Non darò ulteriori istruzioni su questo, poiché il circuito probabilmente avrà un aspetto molto diverso da cubo a cubo, a seconda delle dimensioni del circuito stampato, ecc. Le informazioni su come collegare il cubo al circuito del controller sono nel prossimo fare un passo.

Passaggio 8: collegare il cubo

Collega il cubo
Collega il cubo
Collega il cubo
Collega il cubo
Collega il cubo
Collega il cubo

Le immagini lo spiegano meglio delle parole. Si prega di vedere le immagini.

Passaggio 9: compilazione e programmazione

Ora hai un cubo led. Per utilizzarlo, ha bisogno di un software. Ho creato un driver per il rendering di uno spazio dati 3D sul cubo e funzioni per visualizzare alcuni fantastici effetti visivi sul cubo. Puoi usare il mio codice, scrivere il tuo o costruire su il mio codice e crea più effetti. Se crei i tuoi effetti, per favore inviami il codice. Non vedo l'ora di vedere cosa farete! Per compilare il programma. Basta aprire un prompt dei comandi, entrare nella directory con il codice sorgente, digitare "make" sulla riga di comando. Se si desidera utilizzare un ATMega32 invece di ATMega16, è sufficiente modificare l'impostazione mcu nel Makefile e ricompilare (digitare make). Se usi l'm32 e non esegui questo passaggio, il cubo non si avvierà correttamente (le luci rossa e verde continueranno a lampeggiare per sempre). Ora dovresti avere un file chiamato main.hex nella directory dei sorgenti. Il passaggio successivo ti mostrerà come inserire quel codice nel tuo cubo.

Passaggio 10: programmare il microcontrollore

Programma il microcontrollore
Programma il microcontrollore
Programma il microcontrollore
Programma il microcontrollore
Programma il microcontrollore
Programma il microcontrollore

Se riscontri problemi di velocità e/o alcuni LED non si accendono. Si prega di leggere attentamente questo passaggio. Per programmare il microcontrollore, utilizzo avrdude e il programmatore USBTinyISP.

  • https://savannah.nongnu.org/projects/avrdude/
  • https://www.ladyada.net/make/usbtinyisp/
  • https://www.adafruit.com/index.php?main_page=index&cPath=16

I miei esempi saranno su un sistema Ubuntu Linux. La procedura dovrebbe essere praticamente identica su Windows, ma non posso aiutarti. Se usi un altro programmatore, leggi il manuale per quel programmatore e avrdude. Prima di tutto, vediamo se possiamo entrare in contatto con l'AVR. Collega il programmatore al tuo cubo e al tuo computer. Il comando è "avrdude -c usbtiny -p m16", dove r -c specifica il programmatore e -p il modello AVR. Puoi vedere l'output nelle immagini qui sotto. Ora carica il firmware: "avrdude -c usbtiny -p m16 -U flash:w:main.hex". A questo punto, il cubo dovrebbe riavviarsi e iniziare a fare cose. Funzionerà a 1 mhz (molto lentamente) usando il suo oscillatore interno. E alcuni dei led non funzioneranno, perché alcune porte GPIO sono utilizzate per JTAG per impostazione predefinita. Per abilitare l'oscillatore esterno e disabilitare JTAG, dobbiamo programmare i byte del fuse:run "avrdude -c usbtiny -p m16 -U lfuse:w:0xef:m"e "avrdude -c usbtiny -p m16 -U hfuse:w:0xc9:m". Fai attenzione quando esegui questo passaggio! Se sbagli, puoi distruggere definitivamente il tuo microcontrollore! Se stai usando un altro microcontrollore diverso da ATMega16, assicurati di leggere attentamente la scheda tecnica prima di cambiare i byte del fusibile! Dopo aver scritto i byte del fusibile corretti, il cubo dovrebbe riavviarsi e iniziare a funzionare a velocità regolare con tutti i led funzionanti. Goditi il tuo nuovo cubo: D

Passaggio 11: diventa grande - 8x8x8

Vai grande - 8x8x8
Vai grande - 8x8x8
Vai grande - 8x8x8
Vai grande - 8x8x8
Vai grande - 8x8x8
Vai grande - 8x8x8
Vai grande - 8x8x8
Vai grande - 8x8x8

Dopo aver realizzato questo cubo 4x4x4 piuttosto fantasioso, ho anche realizzato un enorme cubo 8x8x8. Farò un istruibile per quello quando avrò tempo. Intanto guarda le foto:-)

Puoi trovare la versione 8x8x8 qui: https://www.instructables.com/id/Led-Cube-8x8x8/ Valuta questo istruttore se ti piace!:)

Consigliato: