Sadržaj:

Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina: 7 koraka (sa slikama)
Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina: 7 koraka (sa slikama)

Video: Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina: 7 koraka (sa slikama)

Video: Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina: 7 koraka (sa slikama)
Video: Šta je Arduino? 2024, Juli
Anonim
Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina
Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina
Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina
Kako izgraditi LED kocku 8x8x8 i kontrolirati je pomoću Arduina

Januar 2020 uredi:

Ostavljam ovo u slučaju da netko želi to upotrijebiti za generiranje ideja, ali više nema smisla graditi kocku na temelju ovih uputa. IC upravljački programi za LED više se ne proizvode, a obje skice su napisane u starim verzijama Arduina i Processinga i više se ne izvode. Ne znam šta treba promijeniti da bi funkcionirali. Takođe, moj način izgradnje rezultirao je nesigurnim neredom. Moj prijedlog je slijediti upute na drugom uputstvu ili kupiti komplet. Ova kocka je koštala oko 50 USD još 2011., sada možete kupiti komplet na ebayu za oko 20 USD.

Originalni uvod:

Na Instructables ima puno LED kockica, pa zašto raditi drugu? Većina je za male kockice koje se sastoje od 27 ili 64 LED diode, rijetko veće jer su ograničene na broj izlaza dostupnih na mikrokontroleru. Ova kocka će imati 512 LED dioda i trebat će samo 11 izlaznih žica s Arduina. Kako je to moguće? Korištenjem Allegro Microsystems A6276EA LED upravljačkog programa.

Pokazat ću vam kako sam napravio kocku, kontrolnu ploču i na kraju kod kako bi zasjala.

Korak 1: Materijali

Materijali
Materijali

Svi dijelovi koji će vam biti potrebni za izradu kocke: 1 Arduino/Freeduino sa čipom Atmega168 ili višim 512 LED dioda, veličina i boja ovise o vama, koristio sam 3 mm crvene 4 A6276EA LED upravljačke čipove iz Allegro 8 NPN tranzistora za kontrolu protoka napona, Koristio sam BDX53B Darlington tranzistor 4 otpornika od 1000 ohma, 1/4 vata ili više 12 560 oma otpornika, 1/4 vata ili više 1 330uF elektrolitički kondenzator 4 24 -polna IC utičnica 9 16 -polna IC utičnica 4 "x4" (ili veća) komad perfboard ploče za držanje svih dijelova, stari računarski ventilator, stari kabel za disketu, staro računarsko napajanje Mnogo priključne žice, lemljenja, lemilice, fluksa, bilo čega drugog što će vam olakšati život dok ovo radite. 7 "x7" (ili veći) komad drveta koji se koristi za izradu LED lemilice za lemljenje Lijepa futrola za prikaz vaše gotove kocke Moj Arduino/Freeduino po izboru je Bare Bones Board (BBB) sa www.moderndevice.com. LED diode su kupljene na eBayu i koštaju 23 USD za 1000 LED dioda isporučenih iz Kine. Preostala elektronika kupljena je od kompanije Newark Electronics (www.newark.com) i trebala bi koštati samo oko 25 USD. Ako morate kupiti sve, ovaj bi projekt trebao koštati samo oko 100 USD. Imam dosta stare računarske opreme pa su ti dijelovi otpali sa gomile otpada.

Korak 2: Sastavite slojeve

Sastavite slojeve
Sastavite slojeve
Sastavite slojeve
Sastavite slojeve
Sastavite slojeve
Sastavite slojeve
Sastavite slojeve
Sastavite slojeve

Kako napraviti 1 sloj (64 LED diode) od ove 512 LED kocke: LED diode koje sam kupio bile su promjera 3 mm. Odlučio sam upotrijebiti male LED diode kako bih smanjio troškove i učinio konačnu veličinu kocke dovoljno malom da sjedne na moj stol ili policu bez potpunog preuzimanja stola ili police. Nacrtao sam mrežu 8x8 s otprilike 0,6 inča između redova. To mi je dalo kocku veličine oko 4,25 inča po strani. Izbušite rupe od 3 mm na mjestima gdje se linije spajaju kako biste napravili šablon koji će držati LED diode dok lemite svaki sloj. A6276EA je trenutni uređaj za umivanje. To znači da pruža put do mase, a ne put do napona izvora. Morat ćete izgraditi kocku u zajedničkoj konfiguraciji anode. Većina kockica izgrađena je kao zajednička katoda. Duga strana LED diode općenito je anoda, provjerite svoju da biste bili sigurni. Prvo što sam uradio je testiranje svake LED diode. Da, to je dug i dosadan proces i možete ga preskočiti ako želite. Radije ću potrošiti vrijeme na testiranje LED dioda nego pronaći mrtvo mjesto u kocki nakon što je sastavljena. Našao sam 1 mrtvu LED diodu od 1000. Nije loše. Izrežite 11 komada čvrste, neizolirane žice za spajanje na 5 inča. Postavite 1 LED diodu na svaki kraj reda u šablon, a zatim lemite žicu na svaku anodu. Sada postavite preostalih 6 LED dioda u red i lemite te anode na žicu. Ovo može biti okomito ili vodoravno, nije važno sve dok sve slojeve radite na isti način. Kad završite svaki red, odrežite višak olova s anoda. Ostavio sam oko 1/8 . Ponavljajte dok ne završite svih 8 redova. Sada lemite 3 komada spojene žice preko redova koje ste upravo napravili da ih sve povežete u jedan komad. Zatim sam testirao sloj pričvršćivanjem 5 volti da spojite žičanu rešetku kroz otpornik i dodirnete uzemljeni kabel do svake katode. Zamijenite sve LED diode koje ne svijetle. Pažljivo uklonite sloj sa šablona i ostavite ga sa strane. Ako savijete žice, ne brinite, samo ispravite ih najbolje što možete. Vrlo se lako savija. Kao što možete vidjeti na mojim slikama, imao sam mnogo savijenih žica. Čestitam, 1/8 ste završili. Napravite još 7 slojeva. OPCIONALNO: Za lemljenje slojevi zajedno (korak 3) su lakši, dok je svaki sljedeći sloj još uvijek u šabloni savijte gornju četvrtinu inča katode prema naprijed za 45 do 90 stupnjeva. To će omogućiti da olovo dođe do LED diode na koju se spaja i znatno će zalemiti lakše. Ne činite to svom prvom sloju, izjavit ćemo da je jedan donji sloj i da vodi mora biti s traight.

Korak 3: Sastavite kocku

Sastavite kocku
Sastavite kocku
Sastavite kocku
Sastavite kocku

Kako lemiti sve slojeve zajedno kako biste napravili kocku: Tvrdi dio je skoro gotov. Pažljivo vratite jedan sloj natrag u šablon, ali nemojte koristiti preveliki pritisak, želimo ga ukloniti bez savijanja. Ovaj prvi sloj je gornja strana kocke. Postavite još jedan sloj na prvi, poravnajte elektrode i počnite sa lemljenjem. Bilo mi je najlakše prvo napraviti uglove, zatim vanjske ivice, pa unutar redova. Nastavite dodavati slojeve dok ne završite. Ako ste unaprijed savili elektrode, svakako sačuvajte sloj s ravnim vodovima za kraj. To je dno. Imao sam previše prostora između svakog sloja pa nisam baš dobio oblik kocke. Nije velika stvar, mogu živjeti s tim.

Korak 4: Izgradnja kontrolne ploče

Izgradnja odbora kontrolora
Izgradnja odbora kontrolora
Izgradnja odbora kontrolora
Izgradnja odbora kontrolora
Izgradnja odbora kontrolora
Izgradnja odbora kontrolora

Kako izgraditi upravljačku ploču i pričvrstiti je na svoj Arduino: Slijedite shemu i sastavite ploču kako god želite. Postavio sam čipove kontrolera u središte ploče i lijevom stranom držao tranzistore koji kontroliraju struju do svakog sloja kocke, a desnom stranom držao konektore koji idu od čipova kontrolera do katoda LED stubove. Pronašao sam stari računarski ventilator od 40 mm sa ženskim molex konektorom koji ga je priključio na napajanje računara. Ovo je bilo savršeno. Mala količina protoka zraka kroz čip je korisna i sada imam jednostavan način da osiguram 5 volti za čipove kontrolera i sam Arduino. Na shemi je RC otpornik za ograničavanje struje za sve LED diode spojene na svaki A6276EA. Koristio sam 1000 ohma jer daje 5 miliampera LED -i, dovoljno da je upali. Koristim High Brightness, a ne Super Brite LED diode, tako da je trenutni odvod manji. Ako svih 8 LED dioda u koloni svijetli odjednom, to je samo 40 miliampera. Svaki izlaz A6276EA može podnijeti 90 miliampera tako da sam u dometu. RL je otpornik spojen na logičke ili signalne vodiče. Stvarna vrijednost nije jako važna sve dok postoji i nije prevelika. Koristim 560 ohma jer ih je bilo na raspolaganju. Koristio sam tranzistor snage koji može podnijeti do 6 ampera za kontrolu struje koja ide do svakog sloja kocke. Ovo je pretjerano za ovaj projekt, jer će svaki sloj kocke izvući samo 320 miliampera sa upaljenim LED diodama. Htio sam da raste prostor i kasnije bih mogao koristiti kontrolnu ploču za nešto veće. Koristite tranzistor bilo koje veličine koji odgovara vašim potrebama. 330 uF kondenzator preko izvora napona je tu da pomogne u ublažavanju manjih fluktuacija napona. Budući da koristim staro napajanje računara, to nije potrebno, ali ostavio sam ga u slučaju da neko želi koristiti zidni adapter od 5 volti za napajanje svoje kocke. Svaki čip kontrolera A6276EA ima 16 izlaza. Nisam imao nikakav drugi odgovarajući konektor pa sam lemio vodiče na nekih 16 pinskih IC utičnica i pomoću njih ću spojiti upravljačku ploču na kocku. Također sam prepolovio IC utičnicu i upotrijebio je za spajanje 8 žica koje spajaju tranzistore sa slojevima kocke. Odrezao sam oko 5 inča s kraja stare diskete kako bih je koristio kao konektor za Arduino. Disketni kabel ima 2 reda po 20 pinova, gola Bones ploča ima 18 pinova. Ovo je vrlo jeftin način (besplatno) za povezivanje Arduina na ploču. Rastavio sam vrpčani kabel u skupine od 2 žice, skinuo krajeve i lemio ih zajedno. To vam omogućuje da priključite Arduino u bilo koji red konektora. Slijedite shemu i lemite konektor na mjesto. Ne zaboravite lemiti 5 voltne i uzemljene kabele za konektor za napajanje Arduina. Namjeravam koristiti ovu ploču kontrolera za druge projekte, tako da mi modularni dizajn dobro radi. Ako želite ožičiti veze, to je u redu.

Korak 5: Izgradite vitrinu

Napravite vitrinu
Napravite vitrinu
Napravite vitrinu
Napravite vitrinu
Napravite vitrinu
Napravite vitrinu
Napravite vitrinu
Napravite vitrinu

Učinite da vaš konačni proizvod izgleda lijepo: Pronašao sam ovaj drveni sanduk u Hobby Lobbyju za 4 USD i mislio sam da bi bio savršen jer unutra ima prostora za držanje sve žice, a i lijepo izgleda. Obojio sam ovu crvenu boju, istu mrlju koju sam koristio na svom računarskom stolu tako da se podudaraju. Nacrtajte rešetku na vrhu iste veličine kao rešetka koja se koristi za ubodno lemljenje (0,6 inča između redova). Izbušite rupe kako biste omogućili da vodiči prođu kroz gornju stranu, te izbušite još jednu rupu iza rešetke za žice sloja/ravnine (od tranzistora u koraku 4). Na teži sam način naučio da je pokušaj da se 64 kabela poređa da prođe kroz male rupe vrlo težak. Konačno sam odlučio ponovno izbušiti sve rupe malo veće kako bi proces prošao brže. Na kraju sam upotrijebio oko.2 svrdlo. Sada kada kocka sjedi na vrhu zaslona, savijte ugaone vodiče tako da kocka ostane na mjestu dok pričvršćujete žice. Priključite sve žice ispravnim redoslijedom. 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 I spojite žice između slojeva (označenih kao "ravnine" na shemi) i tranzistora. Tranzistor na Arduino pin -u 6 je gornji sloj kocke. Ako pogrešno povežete žice, on se može ispraviti unutar koda, ali može zahtijevati mnogo rada, pa ih pokušajte dovesti u pravilan redoslijed. U redu, sve je izgrađeno i spremno za rad, nabavimo neki kod i isprobajmo ga.

Korak 6: Kodirajte

Kod
Kod

Kod za ovu kocku se radi drugačije od većine, objasnit ću kako se prilagoditi. Većina koda kocke koristi izravno upisivanje u stupce. Kôd kaže da se kolona X mora upaliti pa joj dajte malo soka i gotovi smo. To ne funkcionira kada se koriste čipovi kontrolera. Čipovi kontrolera koriste 4 žice za razgovor s Arduinom: SPI-in, Sat, Latch i Enable. Uzemljio sam pin za omogućavanje (pin 21) kroz otpornik (RL) tako da je izlaz uvijek omogućen. Nikada nisam koristio Enable pa sam ga izvadio iz koda. SPI-in su podaci iz Arduina, Clock je vremenski signal između njih dvoje dok razgovaraju, a Latch govori kontroloru da je vrijeme za prihvaćanje novih podataka. Svaki izlaz za svaki čip kontrolira se 16-bitnim binarnim brojem. Na primjer; slanje 1010101010101010 kontroleru uzrokovalo bi da zasvijetle sve ostale LED diode na kontroleru. Vaš kôd mora proći kroz sve što je potrebno za prikaz i izgraditi taj binarni broj, a zatim ga poslati na čip. Lakše je nego što zvuči. Tehnički je to hrpa bitovnih sabiranja, ali ja sam loš u bitnoj matematici pa sve radim u decimalnom obliku. Decimalni broj za prvih 16 bitova je sljedeći: 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 == 32768Ovo znači ako želite kad zasvijetle izlazi 2 i 10, zbrajate decimale (2 i 512) kako biste dobili 514. Pošaljite 514 kontroleru i izlazi 2 i 10. će zasvijetliti. Ali imamo više od 16 LED dioda pa postaje malo teže. Moramo izgraditi prikazne informacije za 4 čipa. Što je jednostavno kao izgraditi za 1, samo to učinite još 3 puta. Koristim niz globalnih varijabli za držanje kontrolnih kodova. Tako je jednostavno lakše. Nakon što imate spremna sva 4 koda za prikaz, spustite zasun (postavite ga na LOW) i počnite slati kodove. Prvo morate poslati posljednju. Pošaljite kodove za čip 4, zatim 3, zatim 2, pa 1, a zatim ponovo postavite Latch na HIGH. Budući da je pin za omogućavanje uvijek spojen na uzemljenje, zaslon se odmah mijenja. To dobro funkcionira za manje kocke, ali potreba za pohranjivanjem, čitanjem i slanjem 512 bita binarnog sadržaja svaki put kada želite promijeniti zaslon zauzima puno memorije. Arduino nije mogao podnijeti više od nekoliko okvira. Zato sam napisao neke jednostavne funkcije za prikazivanje kocke na djelu koje se oslanjaju na proračun, a ne na unaprijed postavljene animacije. Uključio sam malu animaciju da pokažem kako se to radi, ali prepuštam vama da sami napravite svoje zaslone.cube8x8x8.pde je Arduino kod. Planiram nastaviti dodavati funkcije kodu i periodično ću ažurirati program.matrix8x8.pde je program u obradi za izradu vlastitih ekrana. Prvi navedeni broj ide u uzorak1 , drugi u uzorak2 itd. Tehnički list za A6276EA dostupan je na:

Korak 7: Prikažite svoj ručni rad

Pokažite svoj ručni rad
Pokažite svoj ručni rad

Završili ste, vrijeme je da uživate u svojoj kocki. Kao što vidite, moja kocka je ispala pomalo krivo. Nisam baš sklon izgradnji još jednog pa ću živjeti s tim što je krivo. Imam nekoliko mrtvih točaka koje moram istražiti. Možda je to loša veza ili će mi možda trebati novi upravljački čip. Nadam se da će vas ovaj Instructable inspirirati da izgradite vlastitu kocku ili neki drugi LED projekt pomoću A6276AE. Objavite link u komentarima ako ga izgradite. Pokušavao sam odlučiti gdje ću odavde. Kontrolna ploča će također kontrolirati 4x4x4 RGB kocku, pa je to mogućnost. Mislim da bi bilo zgodno napraviti sferu i način na koji sam napisao kod, ne bi bilo previše teško to učiniti.

Preporučuje se: