Sommario:

Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino: 7 passaggi (con immagini)
Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino: 7 passaggi (con immagini)

Video: Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino: 7 passaggi (con immagini)

Video: Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino: 7 passaggi (con immagini)
Video: Come costruire un cubo LED 8x8x8 2024, Luglio
Anonim
Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino
Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino
Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino
Come costruire un cubo LED 8x8x8 e controllarlo con un Arduino

Modifica gennaio 2020:

Lo tralascio nel caso qualcuno voglia usarlo per generare idee, ma non ha più senso costruire un cubo basato su queste istruzioni. I circuiti integrati del driver LED non sono più realizzati ed entrambi gli sketch sono stati scritti in vecchie versioni di Arduino e Processing e non vengono più eseguiti. Non so cosa debba essere cambiato per farli funzionare. Inoltre, il mio metodo di costruzione ha portato a un pasticcio traballante e sbilenco. Il mio suggerimento è di seguire le istruzioni su un altro istruibile o acquistare un kit. Questo cubo costava circa $ 50 nel 2011, ora puoi acquistare un kit su eBay per circa $ 20.

Introduzione originale:

Ci sono molti cubi LED su Instructables, quindi perché farne un altro? La maggior parte sono per piccoli cubi composti da 27 o 64 LED, raramente più grandi poiché limitati al numero di uscite disponibili sul microcontrollore. Questo cubo sarà composto da 512 LED e richiederà solo 11 cavi di uscita dall'Arduino. Com'è possibile? Utilizzando il driver LED Allegro Microsystems A6276EA.

Ti mostrerò come ho realizzato il cubo stesso, la scheda controller e infine il codice per farlo brillare.

Passaggio 1: materiali

Materiali
Materiali

Tutte le parti necessarie per costruire il cubo: 1 Arduino/Freeduino con chip Atmega168 o superiore 512 LED, le dimensioni e il colore dipendono da te, ho usato 3mm rossi 4 chip driver LED A6276EA di Allegro 8 transistor NPN per controllare il flusso di tensione, ho usato il transistor Darlington BDX53B 4 resistori da 1000 ohm, 1/4 watt o superiore 12 resistori da 560 ohm, 1/4 watt o superiore 1 condensatore elettrolitico da 330uF 4 presa IC a 24 pin 9 prese IC a 16 pin 4 "x4" (o maggiore) pezzo di perfboard per contenere tutte le parti, una vecchia ventola del computer un vecchio cavo del controller floppy un vecchio alimentatore del computer un sacco di cavi di collegamento, saldatura, saldatore, flusso, qualsiasi altra cosa per semplificarti la vita mentre lo fai. Pezzo di legno da 7 "x7" (o più grande) utilizzato per realizzare la maschera di saldatura a LED Una bella custodia per visualizzare il cubo finito Il mio Arduino/Freeduino preferito è la Bare Bones Board (BBB) da www.moderndevice.com. I LED sono stati acquistati da eBay e costano $ 23 per 1000 LED spediti dalla Cina. L'elettronica rimanente è stata acquistata da Newark Electronics (www.newark.com) e dovrebbe costare solo circa $ 25. Se devi comprare tutto, questo progetto dovrebbe costare solo circa $ 100. Ho un sacco di vecchie apparecchiature informatiche, quindi quelle parti sono uscite dal mucchio di rottami.

Passaggio 2: assemblare i livelli

Assemblare gli strati
Assemblare gli strati
Assemblare gli strati
Assemblare gli strati
Assemblare gli strati
Assemblare gli strati
Assemblare gli strati
Assemblare gli strati

Come realizzare 1 strato (64 LED) di questo cubo da 512 LED: I LED che ho acquistato avevano un diametro di 3 mm. Ho deciso di utilizzare piccoli LED per ridurre i costi e per rendere la dimensione finale del cubo abbastanza piccola da stare sulla mia scrivania o sullo scaffale senza occupare completamente la scrivania o lo scaffale. Ho disegnato una griglia 8x8 con circa 0,6 pollici tra le linee. Questo mi ha dato una dimensione del cubo di circa 4,25 pollici per lato. Praticare fori da 3 mm nel punto in cui le linee si incontrano per creare una maschera che manterrà i LED mentre si salda ogni strato. L'A6276EA è un dispositivo dissipatore di corrente. Ciò significa che fornisce un percorso verso terra piuttosto che un percorso verso la sorgente di tensione. Sarà necessario costruire il cubo nella configurazione dell'anodo comune. La maggior parte dei cubi sono costruiti come catodo comune. Il lato lungo del LED è generalmente l'anodo, controlla il tuo per esserne sicuro. La prima cosa che ho fatto è stata testare ogni LED. Sì, è un processo lungo e noioso e puoi saltarlo se vuoi. Preferirei passare il tempo a testare i LED piuttosto che trovare un punto morto nel mio cubo dopo che è stato assemblato. Ho trovato 1 LED morto su 1000. Non male. Taglia 11 pezzi di cavo di collegamento solido e non isolato a 5 pollici. Posiziona 1 LED in ciascuna estremità di una riga nella tua maschera e quindi salda il filo a ciascun anodo. Ora posiziona i restanti 6 LED nella fila e salda quegli anodi al filo. Questo può essere verticale o orizzontale, non importa finché fai tutti i livelli allo stesso modo. Al termine di ogni riga, tagliare il cavo in eccesso dagli anodi. Ho lasciato circa 1/8 . Ripeti fino a quando non hai finito tutte e 8 le file. Ora salda 3 pezzi di filo di collegamento attraverso le file che hai appena fatto per collegarli tutti in un unico pezzo. Ho quindi testato lo strato collegando 5 volt collegare il reticolo del filo attraverso un resistore e toccare il cavo di massa a ciascun catodo. Sostituire tutti i LED che non si accendono. Rimuovi con attenzione lo strato dalla maschera e mettilo da parte. Se pieghi i fili, non preoccuparti, basta raddrizzali meglio che puoi. È molto facile da piegare. Come puoi vedere dalle mie foto, ho avuto molti fili piegati. Congratulazioni, hai finito 1/8. Fai altri 7 strati. OPZIONALE: per fare la saldatura gli strati insieme (Fase 3) più facile, mentre ogni strato successivo è ancora nella maschera piegare il quarto di pollice superiore del catodo in avanti di 45-90 gradi. Ciò consentirà al piombo di raggiungere il LED a cui si collega e renderà la saldatura molto più facile. Non farlo sul tuo primo livello, dichiareremo che uno è lo strato inferiore e che i lead devono essere s dritto.

Passaggio 3: assemblare il cubo

Assemblare il cubo
Assemblare il cubo
Assemblare il cubo
Assemblare il cubo

Come saldare tutti gli strati insieme per creare un cubo: La parte difficile è quasi finita. Ora, rimetti con cura uno strato nella maschera, ma non usare troppa pressione, vogliamo essere in grado di rimuoverlo senza piegarlo. Questo primo strato è la faccia superiore del cubo. Posiziona un altro strato sopra il primo, allinea i cavi e inizia a saldare. Ho trovato più facile fare prima gli angoli, poi il bordo esterno, poi le righe interne. Continua ad aggiungere strati finché non hai finito. Se pre-piegate i cavi, assicuratevi di salvare lo strato con i cavi diritti per ultimo. È il fondo. Avevo un po' troppo spazio tra ogni strato, quindi non ho ottenuto una forma cubica. Non è un grosso problema, posso conviverci.

Passaggio 4: costruzione della scheda controller

Costruire la scheda controller
Costruire la scheda controller
Costruire la scheda controller
Costruire la scheda controller
Costruire la scheda controller
Costruire la scheda controller

Come costruire la scheda controller e collegarla al tuo Arduino: segui lo schema e costruisci la scheda come preferisci. Ho posizionato i chip del controller al centro della scheda e ho usato il lato sinistro per tenere i transistor che controllano la corrente a ogni strato del cubo e ho usato il lato destro per tenere i connettori che vanno dai chip del controller ai catodi di le colonne LED. Ho trovato una vecchia ventola per computer da 40 mm con un connettore molex femmina per collegarla a un alimentatore del computer. Questo era perfetto. Una piccola quantità di flusso d'aria attraverso il chip è utile e ora ho un modo semplice per fornire 5 volt ai chip del controller e all'Arduino stesso. Nello schema, RC è il resistore di limitazione della corrente per tutti i LED collegati a ciascun A6276EA. Ho usato 1000 ohm perché fornisce 5 milliampere al LED, sufficienti per accenderlo. Sto usando LED ad alta luminosità, non Super Brite, quindi il consumo di corrente è inferiore. Se tutti gli 8 LED in una colonna sono accesi contemporaneamente, sono solo 40 milliampere. Ogni uscita dell'A6276EA può gestire 90 milliampere, quindi sono ben all'interno del range. RL è il resistore collegato ai cavi logici o di segnale. Il valore effettivo non è molto importante finché esiste e non è troppo grande. Sto usando 560 ohm perché ne avevo un sacco a disposizione. Ho usato un transistor di potenza in grado di gestire fino a 6 amp per controllare la corrente che va a ogni strato del cubo. Questo è eccessivo per questo progetto, poiché ogni strato del cubo disegnerà solo 320 milliampere con tutti i LED accesi. Volevo che lo spazio crescesse e avrei potuto usare la scheda controller per qualcosa di più grande in seguito. Usa transistor di qualsiasi dimensione si adatti alle tue esigenze. Il condensatore da 330 uF attraverso la sorgente di tensione è lì per aiutare ad appianare eventuali fluttuazioni di tensione minori. Dato che sto usando un vecchio alimentatore per computer, questo non è necessario, ma l'ho lasciato nel caso in cui qualcuno volesse utilizzare un adattatore a muro da 5 volt per alimentare il proprio cubo. Ogni chip del controller A6276EA ha 16 uscite. Non avevo nessun altro connettore adatto, quindi ho saldato i cavi ad alcuni zoccoli IC a 16 pin e li userò per collegare la scheda controller al cubo. Ho anche tagliato a metà una presa IC e l'ho usata per collegare gli 8 fili che collegano i transistor agli strati del cubo. Ho tagliato circa 5 pollici all'estremità di un vecchio cavo floppy da utilizzare come connettore per Arduino. Il cavo floppy è composto da 2 file di 20 pin, la scheda Bones nuda ha 18 pin. Questo è un modo molto economico (gratuito) per collegare Arduino alla scheda. Ho separato il cavo a nastro in gruppi di 2 fili, ho spellato le estremità e li ho saldati insieme. Ciò consente di collegare l'Arduino in una delle due righe del connettore. Segui lo schema e salda il connettore in posizione. Non dimenticare di saldare i 5 volt e i cavi di massa per il connettore per fornire alimentazione all'Arduino. Ho intenzione di utilizzare questa scheda controller per altri progetti, quindi il design modulare funziona bene per me. Se vuoi cablare le connessioni, va bene.

Passaggio 5: costruisci la vetrina

Costruisci la vetrina
Costruisci la vetrina
Costruisci la vetrina
Costruisci la vetrina
Costruisci la vetrina
Costruisci la vetrina
Costruisci la vetrina
Costruisci la vetrina

Rendi il tuo prodotto finale bello: ho trovato questa cassapanca di legno a Hobby Lobby per $ 4 e ho pensato che sarebbe stata perfetta poiché ha spazio all'interno per contenere tutto il filo e inoltre sembra carina. Ho colorato questo rosso, la stessa macchia che ho usato sulla scrivania del mio computer in modo che corrispondano. Disegna una griglia sulla parte superiore delle stesse dimensioni della griglia utilizzata per la maschera di saldatura (0,6 pollici tra le linee). Praticare dei fori per consentire ai cavi attraverso la parte superiore e praticare un altro foro dietro la griglia per i fili di livello/piano (dai transistor nel passaggio 4). Ho imparato a mie spese che cercare di allineare 64 cavi per passare attraverso piccoli buchi è molto difficile. Alla fine ho deciso di rifare tutti i fori un po' più grandi per rendere il processo più veloce. Alla fine ho usato una punta da trapano da.2. Ora che il cubo è posizionato sopra il display, piega i cavi d'angolo in modo che il cubo rimanga in posizione mentre colleghi i fili. Assicurati di collegare tutti i fili nell'ordine corretto. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64E collegare i fili tra gli strati (etichettati 'piani' sullo schema) e i transistor. Il transistor sul pin 6 di Arduino è lo strato superiore del cubo. Se sbagli i fili, è in qualche modo correggibile all'interno del codice, ma potrebbe richiedere molto lavoro, quindi cerca di metterli nell'ordine giusto. tutto è costruito e pronto per l'uso, prendiamo del codice e proviamolo.

Passaggio 6: codice

Codice
Codice

Il codice per questo cubo viene eseguito in modo diverso rispetto alla maggior parte, spiegherò come adattarlo. La maggior parte del codice del cubo utilizza scritture dirette sulle colonne. Il codice dice che la colonna X deve essere accesa, quindi dagli un po' di succo e abbiamo finito. Questo non funziona quando si utilizzano i chip del controller. I chip del controller utilizzano 4 fili per comunicare con Arduino: SPI-in, Clock, Latch e Enable. Ho messo a terra il pin Enable (pin 21) attraverso un resistore (RL) in modo che l'uscita sia sempre abilitata. Non ho mai usato Enable, quindi l'ho tolto dal codice. SPI-in sono i dati in ingresso da Arduino, Clock è un segnale di temporizzazione tra i due mentre parlano e Latch dice al controller che è ora di accettare nuovi dati. Ogni uscita per ogni chip è controllata da un numero binario a 16 bit. Per esempio; l'invio di 101101010101010 al controller farebbe accendere tutti gli altri LED sul controller. Il tuo codice deve eseguire tutto il necessario per un display e creare quel numero binario, quindi inviarlo al chip. È più facile di quanto sembri. Tecnicamente è un mucchio di addizione bit a bit, ma sono pessimo in matematica a bit, quindi faccio tutto in decimale. I decimali per i primi 16 bit sono i seguenti: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768 Questo significa che se vuoi accendi le uscite 2 e 10, aggiungi i decimali (2 e 512) insieme per ottenere 514. Invia 514 al controller e le uscite 2 e 10 si accenderanno. Ma abbiamo più di 16 LED quindi diventa leggermente più difficile. Abbiamo bisogno di creare informazioni di visualizzazione per 4 chip. Il che è facile come costruirlo per 1, fallo solo altre 3 volte. Uso un array di variabili globali per contenere i codici di controllo. È semplicemente più semplice in questo modo. Una volta che hai tutti e 4 i codici del display pronti per l'invio, rilascia il fermo (impostalo su LOW) e inizia a inviare i codici. È necessario inviare prima l'ultimo. Invia i codici per il chip 4, quindi 3, quindi 2, quindi 1, quindi imposta nuovamente il Latch su HIGH. Poiché il pin Enable è sempre collegato a massa, il display viene cambiato immediatamente. La maggior parte del codice cubo che ho visto su Instructables, e sul web in generale, è costituito da un blocco gigante di codice impostato per eseguire un'animazione preimpostata. Funziona bene per cubi più piccoli, ma la necessità di archiviare, leggere e inviare 512 bit di binario ogni volta che si desidera modificare il display occupa molta memoria. L'Arduino non poteva gestire più di pochi frame. Quindi ho scritto alcune semplici funzioni per mostrare il cubo in azione che si basano su calcoli piuttosto che su animazioni preimpostate. Ho incluso una piccola animazione per mostrare come è fatto, ma lascerò a te il compito di creare i tuoi display.cube8x8x8.pde è il codice Arduino. Ho intenzione di continuare ad aggiungere funzioni al codice e aggiornerò periodicamente il programma.matrix8x8.pde è un programma in Processing per costruire i tuoi display. Il primo numero dato va in pattern1, il secondo in pattern2, ecc. La scheda tecnica dell'A6276EA è disponibile all'indirizzo:https://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf

Passaggio 7: mostra il tuo lavoro

Mostra il tuo lavoro
Mostra il tuo lavoro

Hai finito, ora è il momento di goderti il tuo cubo. Come puoi vedere, il mio cubo è uscito un po' storto. Non sono molto entusiasta di costruirne un altro, quindi vivrò con il fatto che sia storto. Ho un paio di punti morti che devo esaminare. Potrebbe essere una cattiva connessione, o potrei aver bisogno di un nuovo chip controller. Spero che questo Instructable ti ispiri a costruire il tuo cubo, o qualche altro progetto LED usando l'A6276AE. Posta un link nei commenti se ne costruisci uno. Ho cercato di decidere dove andare da qui. La scheda controller controllerà anche un cubo RGB 4x4x4, quindi questa è una possibilità. Penso che sarebbe bello fare una sfera e il modo in cui ho scritto il codice, non sarebbe troppo difficile da fare.

Consigliato: