Kazalo:

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

Video: Kako zgraditi LED kocko 8x8x8 in jo upravljati z Arduinom: 7 korakov (s slikami)

Video: Kako zgraditi LED kocko 8x8x8 in jo upravljati z Arduinom: 7 korakov (s slikami)
Video: Главная Автоматизация с помощью SMS - Использование и коды использования GSM-клавиатуры Arduino 2024, November
Anonim
Kako zgraditi LED kocko 8x8x8 in jo upravljati z Arduinom
Kako zgraditi LED kocko 8x8x8 in jo upravljati z Arduinom
Kako zgraditi LED kocko 8x8x8 in jo upravljati z Arduinom
Kako zgraditi LED kocko 8x8x8 in jo upravljati z Arduinom

Januar 2020 uredi:

To puščam, če želi kdo uporabiti to za ustvarjanje idej, vendar na podlagi teh navodil ni več smisla graditi kocke. IC gonilnikov LED niso več izdelani, obe skici pa sta bili napisani v starih različicah Arduina in Processinga in se ne izvajata več. Ne vem, kaj je treba spremeniti, da bodo delovali. Tudi moj način gradnje je povzročil zmešan neroden nered. Moj predlog je, da sledite navodilom na drugem navodilu ali kupite komplet. Ta kocka je v letu 2011 stala okoli 50 USD, komplet lahko zdaj kupite na eBayu za približno 20 USD.

Izvirni uvod:

Na Instructables je veliko LED kock, zakaj bi torej naredili drugo? Večina je namenjenih majhnim kockam, sestavljenim iz 27 ali 64 LED, redko večjih, saj so omejene na število izhodov, ki so na voljo na mikrokrmilniku. Ta kocka bo 512 LED in bo potrebovala le 11 izhodnih žic iz Arduina. Kako je to mogoče? Z uporabo gonilnika LED Allegro Microsystems A6276EA.

Pokazal vam bom, kako sem naredil samo kocko, krmilno ploščo in na koncu kodo, da bo zasijala.

1. korak: Materiali

Materiali
Materiali

Vsi deli, ki jih boste potrebovali za izdelavo kocke: 1 Arduino/Freeduino s čipom Atmega168 ali višjim 512 LED diod, velikost in barva sta odvisna od vas, za krmiljenje napetostnega toka sem uporabil 3 mm rdeče gonilne čipe 4 A6276EA LED iz tranzistorjev Allegro 8 NPN, Uporabil sem tranzistor BDX53B Darlington 4 1000 ohmov, 1/4 vatov ali več 12 560 ohmskih uporov, 1/4 vatov ali več 1 330uF elektrolitski kondenzator 4 24 -polna IC vtičnica 9 16 -polna IC vtičnica 4 "x4" (ali večja) kos perfboard -a za držanje vseh delov, Stari računalniški ventilator Stari kabel disketnega krmilnika Stari računalniški napajalnik Veliko priključne žice, spajkanja, spajkalnika, fluksa, česar koli drugega, da vam olajša življenje ob tem. 7 "x7" (ali večji) kos lesa, ki se uporablja za izdelavo LED spajkalnika. Lepo ohišje za prikaz vaše končne kocke Moj Arduino/Freeduino po izbiri je Bare Bones Board (BBB) z www.moderndevice.com. LED diode so bile kupljene pri eBayu in stanejo 23 USD za 1000 LED, odpremljenih s Kitajske. Preostala elektronika je bila kupljena pri podjetju Newark Electronics (www.newark.com) in bi stala le okoli 25 USD. Če morate kupiti vse, bi moral ta projekt stati le okoli 100 USD. Imam veliko stare računalniške opreme, zato so ti deli prišli iz odpadkov.

2. korak: Sestavite plasti

Sestavite plasti
Sestavite plasti
Sestavite plasti
Sestavite plasti
Sestavite plasti
Sestavite plasti
Sestavite plasti
Sestavite plasti

Kako narediti 1 plast (64 LED) iz te 512 LED kocke: LED diode, ki sem jih kupil, so imele premer 3 mm. Odločil sem se, da bom z majhnimi LED diodami zmanjšal stroške in naredil končno velikost kocke dovolj majhno, da bom lahko sedel na mizi ali polici, ne da bi popolnoma prevzel mizo ali polico. Narisal sem mrežo 8x8 s približno 0,6 palca med vrsticami. To mi je dalo velikost kocke okoli 4,25 palca na stran. Na mestih, kjer se črte stikajo, izvrtajte 3 mm luknje, da naredite sestavljanko, ki bo držala LED, medtem ko spajkate vsako plast. A6276EA je trenutna naprava za umivalnik. To pomeni, da zagotavlja pot do tal namesto poti do napetosti vira. Kocko boste morali zgraditi v skupni konfiguraciji anode. Večina kock je zgrajenih kot skupna katoda. Dolga stran LED je običajno anoda, preverite svojo, da se prepričate. Najprej sem preizkusil vsako LED. Da, to je dolg in dolgočasen proces, ki ga lahko preskočite, če želite. Raje bi porabil čas za preizkušanje LED diod, kot da bi po montaži našel mrtvo točko v svoji kocki. Našel sem 1 mrtvo LED od 1000. Ni slabo. Odrežite 11 kosov trdne, neizolirane priključne žice na 5 palcev. Postavite 1 LED na vsak konec vrstice v sestavi in nato spajkajte žico na vsako anodo. Zdaj postavite preostalih 6 LED v vrsto in te anode spajkajte na žico. To je lahko navpično ali vodoravno, ni pomembno, če delate vse plasti na enak način. Ko končate vsako vrstico, odrežite odvečni kabel iz anod. Pustil sem približno 1/8 . Ponavljajte, dokler ne končate vseh 8 vrstic. Zdaj spajkajte 3 kose priključne žice na vrstice, ki ste jih pravkar naredili, da jih povežete v en kos. Nato sem preskusil plast tako, da sem priključil 5 voltov da skozi upor priklopite žično rešetko in se dotaknete ozemljitvenega kabla na vsako katodo. Zamenjajte vse LED, ki ne svetijo. Previdno odstranite plast iz sestavljanke in jo postavite na stran. Če upognete žice, ne skrbite, samo poravnajte jih, kolikor je le mogoče. Zelo enostavno jih je upogniti. Kot lahko vidite iz mojih slik, sem imel veliko upognjenih žic. Čestitam, končali ste 1/8. Naredite še 7 slojev. MOŽNO: Za spajkanje lažje skupaj (korak 3) lažje, medtem ko je vsaka naslednja plast še vedno v vponki, upognite zgornjo četrtino palca katode naprej za 45 do 90 stopinj. lažje. Ne delajte tega s svojo prvo plastjo, razglasili bomo, da je ena spodnja plast in da morajo biti vodi s traight.

3. korak: Sestavite kocko

Sestavite kocko
Sestavite kocko
Sestavite kocko
Sestavite kocko

Kako spajati vse plasti skupaj, da nastane kocka: Trdi del je skoraj končan. Sedaj previdno vstavite eno plast nazaj v sestavljanko, vendar ne pritiskajte preveč, želimo jo odstraniti, ne da bi jo upognili. Ta prvi sloj je zgornja stran kocke. Na prvo položi drugo plast, poravnaj kable in začni spajkati. Zdelo se mi je, da je najlažje najprej narediti vogale, nato zunanji rob, nato pa v vrsticah. Če ste predhodno upognili vodi, ne pozabite shraniti plasti z ravnimi vodi za konec. To je dno. Imel sem malo preveč prostora med vsako plastjo, zato nisem dobil prave kocke. Nič hudega, lahko živim s tem.

4. korak: Izdelava nadzorne plošče

Sestavljanje nadzorne plošče
Sestavljanje nadzorne plošče
Sestavljanje nadzorne plošče
Sestavljanje nadzorne plošče
Sestavljanje nadzorne plošče
Sestavljanje nadzorne plošče

Kako sestaviti krmilno ploščo in jo pritrditi na svoj Arduino: Sledite shemi in sestavite ploščo, kakor se odločite. Žetone krmilnika sem postavil na sredino plošče in z levo stranjo držal tranzistorje, ki nadzorujejo tok do vsake plasti kocke, z desno stranjo pa držal konektorje, ki gredo od čipov krmilnika do katod LED stebre. Našel sem stari 40 -milimetrski računalniški ventilator z ženskim molex konektorjem, ki ga je priključil na napajanje računalnika. To je bilo popolno. Majhna količina pretoka zraka skozi čip je koristna in zdaj imam enostaven način, da krmilnikom in samemu Arduinu priskrbim 5 voltov. Na shemi je RC trenutni omejevalni upor za vse LED diode, povezane z vsakim A6276EA. Uporabil sem 1000 ohmov, ker zagotavlja 5 miliamperov za LED, kar je dovolj, da jo prižge. Uporabljam LED z visoko svetlostjo, ne LED Super Brite, zato je trenutni odtok manjši. Če naenkrat sveti vseh 8 LED v stolpcu, je to le 40 miliamperov. Vsak izhod A6276EA lahko prenese 90 miliamperov, tako da sem v dosegu. RL je upor, povezan z logičnimi ali signalnimi vodi. Dejanska vrednost ni pomembna, dokler obstaja in ni prevelika. Uporabljam 560 ohmov, ker jih imam na voljo. Uporabil sem močnostni tranzistor, ki je sposoben upravljati do 6 amperov za nadzor toka, ki teče v vsako plast kocke. To je za ta projekt presežek, saj bo vsaka plast kocke potegnila le 320 miliamperov z vsemi prižganimi LED diodami. Želel sem si, da bi prostor zrasel, kasneje pa bi lahko krmilno ploščo uporabil za kaj večjega. Uporabite tranzistor kakršne koli velikosti, ki ustreza vašim potrebam. 330 uF kondenzator preko napetostnega vira je tam, da pomaga izravnati vsa manjša nihanja napetosti. Ker uporabljam stari računalniški napajalnik, to ni potrebno, vendar sem ga pustil v primeru, da bi kdo uporabil 5 -voltni stenski adapter za napajanje svoje kocke. Vsak čip krmilnika A6276EA ima 16 izhodov. Nisem imel nobenega drugega primernega priključka, zato sem spajkal kable v kakšnih 16 -polnih IC vtičnic in jih uporabil za povezavo krmilne plošče s kocko. Prav tako sem prerezal vtičnico IC na pol in z njo povezal 8 žic, ki povezujejo tranzistorje s plastmi kocke. Prerezal sem približno 5 centimetrov s konca stare diskete, ki sem jo uporabil kot priključek za Arduino. Disketni kabel je 2 vrstici z 20 zatiči, gola plošča za kosti ima 18 zatičev. To je zelo poceni (brezplačen) način priključitve Arduina na ploščo. Trakovni kabel sem raztrgal v skupinah po 2 žici, odstranil konce in jih spajal. To vam omogoča, da priključite Arduino v katero koli vrsto priključka. Sledite shemi in spajkajte priključek na svoje mesto. Ne pozabite spajkati 5 -voltnih in ozemljitvenih kablov za priključek, ki bo napajal Arduino. Nameravam uporabiti to krmilno ploščo za druge projekte, tako da mi modularna zasnova lepo deluje. Če želite trdno ožičiti povezave, je to v redu.

5. korak: Zgradite vitrino

Zgradite vitrino
Zgradite vitrino
Zgradite vitrino
Zgradite vitrino
Zgradite vitrino
Zgradite vitrino
Zgradite vitrino
Zgradite vitrino

Naj bo vaš končni izdelek videti lepo: To leseno skrinjo sem našel v Hobby Lobbyju za 4 USD in se mi je zdelo, da bi bila popolna, saj ima v njej prostor za vso žico in lepo izgleda. Tega rdečega, istega madeža, ki sem ga uporabil na računalniški mizi, sem obarval, tako da se ujemajo. Na vrhu narišite mrežo enake velikosti kot mreža za spajkanje (0,6 cm med črtami). Izvrtajte luknje, ki bodo vodile skozi vrh, in izvrtajte še eno luknjo za mrežo za žice plasti/ravnine (od tranzistorjev v 4. koraku). Na težji način sem se naučil, da je zelo težko poskusiti postaviti 64 vodij skozi majhne luknje. Nazadnje sem se odločil, da bom vse luknje naredil nekoliko večje, da bo postopek potekal hitreje. Na koncu sem uporabil vrtalnik.2. Zdaj, ko kocka sedi na vrhu zaslona, upognite vogalne vodnike, da bo kocka ostala na svojem mestu, ko pritrdite žice. Priključite vse žice 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 plastmi (na shemi označene z "ravninami") in tranzistorji. Tranzistor na Arduino pin 6 je zgornji sloj kocke. Če napačno povežete žice, je v kodi nekoliko popravljiv, vendar lahko zahteva veliko dela, zato jih poskusite urediti v pravem vrstnem redu. vse je pripravljeno in pripravljeno za delo, dajmo kodo in jo preizkusimo.

6. korak: Koda

Koda
Koda

Koda za to kocko je narejena drugače kot večina, razložil bom, kako se prilagoditi. Večina kode kocke uporablja neposredno pisanje v stolpce. Koda pravi, da je treba stolpec X prižgati, zato mu dajte nekaj soka in končali smo. To ne deluje pri uporabi čipov krmilnika. Čipi krmilnika uporabljajo 4 žice za pogovor z Arduinom: SPI-in, Clock, Latch in Enable. Ozemljitveni zatič (pin 21) sem ozemljil skozi upor (RL), tako da je izhod vedno omogočen. Omogočila nisem nikoli, zato sem ga vzela iz kode. SPI-in so podatki iz Arduina, Clock je časovni signal med obema, medtem ko se pogovarjata, Latch pa krmilniku pove, da je čas, da sprejme nove podatke. Vsak izhod za vsak čip nadzira 16-bitno binarno število. Na primer; pošiljanje 1010101010101010 krmilniku bi povzročilo prižiganje vseh drugih LED na krmilniku. Vaša koda mora opraviti vse, kar je potrebno za prikaz, in zgraditi to binarno številko, nato pa jo poslati na čip. Je lažje, kot se sliši. Tehnično gre za kup pobitih seštevanj, vendar sem pri bitni matematiki slab, zato vse naredim v decimalni obliki. 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 == 32768To pomeni, če želite prižgete izhoda 2 in 10, skupaj dodate decimalke (2 in 512), da dobite 514. Pošljite 514 na krmilnik in izhoda 2 in 10. bosta zasvetila. Vendar imamo več kot 16 LED, zato postane nekoliko težje. Za 4 čipe moramo zgraditi prikazne informacije. Kar je tako preprosto, kot da ga zgradite za 1, naredite to še 3 -krat. Za shranjevanje kontrolnih kod uporabljam niz globalnih spremenljivk. Tako je preprosto lažje. Ko imate pripravljene vse 4 kode zaslona za pošiljanje, spustite zapah (nastavite ga na LOW) in začnite pošiljati kode. Najprej morate poslati zadnjega. Pošljite kode za čip 4, nato 3, nato 2, nato 1, nato pa znova nastavite Latch na HIGH. Ker je pin za omogočanje vedno povezan z maso, se zaslon takoj spremeni. To se odlično obnese pri manjših kockah, vendar mora shranjevanje, branje in pošiljanje 512 bitov binarnih datotek vsakič, ko želite spremeniti zaslon, zavzame veliko pomnilnika. Arduino ni zmogel več kot nekaj okvirjev. Zato sem napisal nekaj preprostih funkcij za prikaz kocke v akciji, ki se opirajo na izračun in ne na vnaprej nastavljene animacije. Vključil sem majhno animacijo, ki prikazuje, kako se to naredi, vendar vam prepuščam, da sestavite svoje zaslone. Cube8x8x8.pde je koda Arduino. Nameravam še naprej dodajati funkcije kodi in program bom občasno posodabljal. Matrix8x8.pde je program v obdelavi za izdelavo lastnih zaslonov. Prva podana številka je v vzorcu1 , druga v vzorcu2 itd. Podatkovni list za A6276EA je na voljo na:

7. korak: Prikažite svoje ročno delo

Pokažite svoje ročno delo
Pokažite svoje ročno delo

Končali ste, zdaj je čas, da uživate v svoji kocki. Kot lahko vidite, je moja kocka postala nekoliko ukrivljena. Nisem pa navdušen nad tem, da bi zgradil še enega, zato bom živel s tem, da je pokvarjen. Imam nekaj mrtvih točk, ki jih moram preučiti. Morda je to slaba povezava ali pa potrebujem nov krmilni čip. Upam, da vas bo ta Instructable navdihnil, da z A6276AE zgradite svojo kocko ali kakšen drug LED projekt. V komentarjih objavite povezavo, če jo zgradite. Poskušal sem se odločiti, kam naj grem. Krmilna plošča bo upravljala tudi kocko RX 4x4x4, zato je to možnost. Mislim, da bi bilo lepo narediti sfero in tako, kot sem napisal kodo, ne bi bilo preveč težko narediti.

Priporočena: