Vezja

Kako zgraditi 8x8x8 LED kocko in jo nadzirati z Arduino: 7 korakov (s slikami)

Светодиодный куб 8x8x8 своими руками

Светодиодный куб 8x8x8 своими руками

Kazalo:

Anonim

Obstaja veliko LED kock na Instructables-u, zakaj pa še kaj? Večina je za majhne kocke, ki jih sestavlja 27 ali 64 LED, redko večje, ker so omejene na število izhodov, ki so na voljo na mikrokrmilniku. Ta kocka bo 512 LED in potrebuje samo 11 izhodnih žic iz Arduina. Kako je to mogoče? Z uporabo gonilnika LED Allegro Microsystems A6276EA.
Pokazal vam bom, kako sem naredil kocko sam, krmilno ploščo in končno kodo, da bi sijala.


Dobave:

1. korak: Materiali

Vsi deli, ki jih boste potrebovali za izdelavo kocke:
1 Arduino / Freeduino z Atmega168 ali višjim čipom
512 LED, velikost in barva sta odvisni od vas, uporabil sem 3mm rdeče
4 A6276EA LED gonilniki iz Allegro
8 NPN tranzistorjev za nadzor napetostnega toka, sem uporabil BDX53B tranzistor Darlington
4 1000 ohmski upori, 1/4 vata ali več
12 uporov 560 ohmov, 1/4 vata ali več
1 330uF elektrolitski kondenzator
4 24-polna vtičnica IC
9 16 pinskih vtičnic
4 "x4" (ali večji) del parfuma za vse dele,
Stari računalniški ventilator
Stari kabel krmilnika disket
Staro napajanje računalnika
Veliko žice za spajanje, spajkanje, spajkanje, tok, karkoli drugega
da vam olajša življenje.
7 "x7" (ali večji) kos lesa, ki se uporablja za izdelavo spajkalne priprave LED
Lep primer za prikaz končne kocke
Moj izbran Arduino / Freeduino je Bare Bones Board (BBB) ​​iz www.moderndevice.com. Svetleče diode so bile kupljene ob eBayu in so stale 23 $ za 1000 LED svetil, dobavljenih iz Kitajske. Preostala elektronika je bila kupljena pri Newark Electronics (www.newark.com) in naj bi stala le okoli 25 dolarjev. Če boste morali kupiti vse, bi moral ta projekt stati le okoli 100 dolarjev.
Imam veliko stare računalniške opreme, tako da so ti deli izpadli.

2. korak: Sestavite plasti

Kako narediti 1 plast (64 LED) te 512 LED kocke:
LED diode, ki sem jih kupil, so bile premera 3 mm. Odločil sem se, da uporabim majhne LED diode za zmanjšanje stroškov in da bo končna velikost kocke dovolj majhna, da lahko sedim na mizi ali polici, ne da bi popolnoma prevzel mizo ali polico.
Narisal sem mrežo 8x8 s približno 6 palcev med vrsticami. To mi je dalo velikost kocke okoli 4,25 palca na stran. Vrtajte 3mm luknje, kjer se vrstice sestavljajo, da naredite šablono, ki bo držala LED-diode, ko spajate vsak sloj.
A6276EA je trenutna naprava za potapljanje. To pomeni, da zagotavlja pot do tal namesto poti do napetosti vira. Kocko boste morali zgraditi v skupni anodni konfiguraciji. Večina kock je zgrajena kot skupna katoda.
Dolga stran LED je na splošno anoda, preverite vašo in se prepričajte. Prva stvar, ki sem jo naredil, je bila testiranje vsake LED. Ja, to je dolg in dolgočasen proces in ga lahko preskočite, če želite. Raje bi porabil čas, da preizkusim svetleče diode, kot pa najdem mrtvo točko v svoji kocki, potem ko je bila sestavljena. Našel sem 1 mrtvi LED od 1000. Ni slabo.
Izrežite 11 kosov trdne, neizolirane žice za povezavo do 5 palcev. Postavite 1 LED v vsak konec vrstice v vašo šablono in nato spajate žico na vsako anodo. Sedaj postavite preostalih 6 LED v vrsto in jih spajate na žico. To je lahko vertikalno ali vodoravno, ni pomembno, dokler vse sloje delate na enak način. Ko končate vsako vrstico, odrežite odvečno žico iz anode. Odšel sem okoli 1/8 ".
Ponavljajte, dokler ne končate vseh 8 vrstic. Zdaj spajkamo 3 kose kljuke navzgor po vrstah, ki ste jih pravkar naredili, da jih povežemo v en kos. Nato sem preizkusil plast s pritrditvijo 5 voltov na
priključite žično mrežico skozi upor in se dotaknite ozemljitvenega vodnika do vsake katode. Zamenjajte vse LED-lučke, ki se ne prižgejo.
Previdno odstranite plast iz šablona in jo postavite na stran. Če upogibate žice, ne skrbite, samo jih poravnajte, kolikor je le mogoče. Zelo se lahko upogne. Kot lahko vidite iz mojih slik, sem imel veliko ukrivljenih žic.
Čestitamo, opravili ste 1/8. Naredite še 7 plasti.
NEOBVEZNO: Lažje spajkanje plasti (korak 3), medtem ko je vsak nadaljnji sloj še vedno v vijačnici upogibni vrh četrtine palice katode naprej za 45 do 90 stopinj. To bo omogočilo
vodilo, da dosežejo okoli LED, ki jo povezuje, in da bo spajkanje veliko lažje. Ne delajte tega s svojim prvim slojem, izjavili bomo, da je eden od spodnjih plasti in da morajo biti vodila ravna.

3. korak: Sestavite kocko

Kako spajati vse plasti skupaj in narediti kocko:
Trdi del je skoraj konec. Zdaj, previdno postavite en sloj nazaj v šablono, vendar ne uporabljajte preveč pritiska, želimo ga lahko odstraniti, ne da bi ga upogibali. Ta prva plast je zgornja stran kocke. Postavite še en sloj na prvo, poravnajte žice in začnite spajkati. Najlažje sem najprej najprej narediti vogale, potem zunanji rob, nato pa znotraj vrstic.
Dodajte plasti, dokler ne končate. Če ste pre-ukrivljen vodi potem se prepričajte, da shranite plast z ravnimi vodi za zadnji. To je dno.
Med vsako plastjo sem imel preveč prostora, zato nisem dobil kocke. Nič hudega, s tem lahko živim.

4. korak: Izgradnja nadzornega odbora

Kako zgraditi krmilno ploščo in jo pritrditi na Arduino:
Sledite shemi in zgradite ploščo, kljub temu, da izberete. Postavil sem krmilne čipe v sredino plošče in z levo stranjo držal tranzistorje, ki krmilijo tok na vsako plast kocke, in uporabil desno stran, da drži konektorje, ki gredo od čipov krmilnika do katodov stolpci LED.
Našel sem stari 40-milimetrski računalniški ventilator s priključkom za ženske molex, ki ga je priključil na napajanje računalnika. To je bilo popolno. Majhen pretok zraka skozi čip je koristen in zdaj imam enostaven način, da zagotovim 5 voltov za krmilne čipe in sam Arduino.
Na shemi je RC trenutni omejevalni upor za vse LED diode, ki so priključene na vsak A6276EA. Uporabil sem 1000 ohmov, ker zagotavlja 5 miliamperov na LED, dovolj, da ga osvetli. Uporabljam svetleče diode visoke svetilnosti, ne Super Brite, zato je trenutni odvod nižji. Če je vseh 8 LED v stolpcu naenkrat osvetljeno, je samo 40 miliamperjev. Vsak izhod A6276EA se lahko znajde v 90 milliampih, tako da sem v dosegu.
RL je upor, priključen na logične ali signalne vodnike. Dejanska vrednost ni zelo pomembna, dokler obstaja in ni prevelika. Jaz sem z uporabo 560 ohmov, ker sem imel veliko od njih na voljo.
Uporabil sem močnostni tranzistor, ki je sposoben upravljati do 6 amperov, da bi nadzoroval tok, ki gre v vsako plast kocke. To je pretiravanje za ta projekt, saj bo vsaka plast kocke pripravila samo 320 miliampe z vsemi sveti LED. Hotel sem, da raste in lahko uporabim krmilno ploščo za nekaj večjega kasneje. Uporabite ne glede na velikost tranzistorja, ki ustreza vašim potrebam.
Kondenzator 330 uF po viru napetosti je tu, da pomaga izravnati morebitna manjša napetostna nihanja. Ker uporabljam staro napajanje računalnika, to ni potrebno, vendar sem ga pustil v primeru, da nekdo želi uporabiti 5 voltni stenski adapter za napajanje svoje kocke.
Vsak kontrolni čip A6276EA ima 16 izhodov. Nisem imel nobenega drugega primernega priključka, tako da sem spajkal vodi do 16 vtičnic IC pin in bo uporabil tiste za povezavo nadzornika krovu kocke. Prav tako sem zmanjšal IC vtičnico na pol in jo uporabil za povezavo 8 žic, ki povezujejo tranzistorje s plastmi kocke.
Odrežem približno 5 centimetrov od konca starega disketnega kabla, ki ga uporabljam kot priključek za Arduino. Disketni kabel je 2 vrstici z 20 zatiči, Gola Bones Board ima 18 zatičev. To je zelo poceni način (brezplačno), da povežete Arduino na tablo. Razporedil sem trakasti kabel v skupinah po 2 žici, odstranil konce in jih spajal skupaj. To vam omogoča, da priključite Arduino v katerokoli vrsto priključka. Sledite shemi in spajkati konektor na svoje mesto. Ne pozabite spajati 5-voltnih in ozemljitvenih vodnikov za priključek, ki zagotavlja napajanje Arduinu.
Nameravam uporabljati krmilno ploščo za druge projekte, tako da modularna zasnova lepo deluje za mene. Če želite priključiti na trdo žico, je to v redu.

5. korak: Zgradite ohišje zaslona

Naj bo vaš končni izdelek lep:
Našel sem to leseno skrinjico v Hobby Lobbyju za 4 $ in sem mislil, da bo popoln, saj ima notranjost prostora, da drži vse žice plus izgleda lepo. To rdečo, isto barvo, ki sem jo uporabil na računalniški mizi, sem obarval, da se ujemajo.
Na vrhu narišite mrežo enake velikosti, kot jo uporablja mreža za spajkanje (.6 palcev med vrsticami). Izvrtajte luknje, da omogočite vodnike skozi vrh, in izvrtajte drugo luknjo za rešetko za plasti / ravnino žic (od tranzistorjev v koraku 4). Na težji način sem se naučil, da je težko poravnati 64 vodil do majhnih lukenj. Končno sem se odločil, da ponovno izvrtam vse luknje malo večje, da bo postopek hitrejši. Na koncu sem uporabil približno 0,2-kratni sveder.
Sedaj, ko kocka sedi na vrhu zaslona, ​​upognite vogalne kljuke, tako da bo kocka ostala na mestu, ko pritrdite žice. Prepričajte se, da vse žice pritrdite v pravilnem vrstnem redu.
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 64
In povežite žice med plasti (označene z "ravninami" na shemi) in tranzistorji. Tranzistor na Arduino pin 6 je zgornja plast kocke.
Če dobite žice narobe, je v kodi nekoliko popravljiva, vendar lahko zahteva veliko dela, zato jih poskusite dobiti v pravem zaporedju.
V redu, vse je zgrajeno in pripravljeno za uporabo, pojdimo na kodo in jo preizkusimo.

Korak 6: Koda

Koda za to kocko je drugačna od večine, razložila bom, kako se prilagodim.
Večina kode za kocke uporablja neposredne zapise v stolpce. Koda pravi, da mora biti stolpec X osvetljen, zato mu dajte nekaj soka in končali smo. To ne deluje, če uporabljate krmilne žetone.
Upravljalni čipi uporabljajo 4 žice za pogovor z Arduino: SPI-in, Clock, Latch in Enable. I ozemljeno Enable pin (pin 21) skozi upor (RL), tako izhod je vedno omogočen. Nikoli nisem uporabljal Enable, zato sem ga vzel iz kode. SPI-in so podatki iz Arduina, ura je časovni signal med njima, medtem ko govorijo, in Latch pove krmilniku, da je čas, da sprejme nove podatke.
Vsak izhod za vsak čip je nadzorovan z 16-bitno binarno številko. Na primer; pošiljanje 1010101010101010 v krmilnik bi povzročilo, da bi svetila vsaka druga LED dioda na krmilniku. Vaša koda mora teči skozi vse, kar je potrebno za prikaz in zgraditi to binarno število, nato pa ga poslati na čip. Lažje je, kot se sliši. Tehnično gre za kup dodatkov po bitovih, vendar sem slab na bitni matematiki, zato naredim vse v decimalnem.
Decimalno število za prvih 16 bitov je naslednje:
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
To pomeni, da če želite osvetliti izhode 2 in 10, skupaj dodajte decimalke (2 in 512), da dobite 514. Pošljite 514 na krmilnik in izhoda 2 in 10 zasvetita.
Toda imamo več kot 16 LED diod, tako da postane nekoliko težje. Za 4 žetone moramo izdelati informacije o prikazu. Kar je tako preprosto, kot da ga zgradimo za 1, to storite še 3-krat. Za shranjevanje kontrolnih kod uporabljam globalno spremenljivko. Tako je lažje.
Ko so vse 4 kode prikazane pripravljene za pošiljanje, spustite zapah (nastavite ga na LOW) in začnite pošiljati kode. Najprej morate poslati zadnjo. Pošljite kode za čip 4, nato 3, nato 2, nato 1, nato ponovno nastavite zapah na HIGH. Ker je pin Enable vedno priključen na maso, se zaslon takoj spremeni.
Večina kode za kocke, ki sem jo videl na Instructables, in splet na splošno, je sestavljen iz velikanskega niza kodnih nizov za izvedbo vnaprej nastavljene animacije.To je v redu za manjše kocke, vendar jih je treba shraniti, prebrati in poslati 512 bitov binarnih podatkov vsakič, ko želite spremeniti zaslon. Arduino ni mogel obdelati več kot nekaj okvirjev. Tako sem napisal nekaj preprostih funkcij za prikaz kocke v akciji, ki je odvisna od izračuna in ne prednastavljenih animacij. Vključil sem majhno animacijo, ki je pokazala, kako je to storjeno, vendar vam prepuščam, da zgradite lastne zaslone.
cube8x8x8.pde je koda Arduino. Načrtujem nadaljevanje dodajanja funkcij kode in bo program redno posodabljal.
matrix8x8.pde je program v obdelavi za izdelavo lastnih zaslonov. Prvo dano število gre v vzorec1 , drugi v vzorec2 , itd.
Podatkovni list za A6276EA je na voljo na:
http://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf

7. korak: Prikažite ročno delo

Končali ste, zdaj je čas, da uživate v kocki.


Kot lahko vidite, je moja kocka prišla ven malo pokvarjena. Nisem zelo navdušena nad gradnjo nove, čeprav bom živela s tem, da je kriva. Imam nekaj mrtvih točk, ki jih moram preučiti. Morda je to slaba povezava ali pa morda potrebujem nov krmilni čip.
Upam, da vas ta Instructable navdihne, da zgradite svojo kocko ali kakšen drug projekt LED, ki uporablja A6276AE. Objavite povezavo v komentarjih, če jo sestavite.
Poskušal sem se odločiti, kam grem od tu. Upravljalna plošča bo krmilila tudi 4x4x4 RGB kocko, tako da je to možnost. Mislim, da bi bilo lepo narediti sfero in način, kako sem napisal kodo, ne bi bilo preveč težko narediti.