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, Srpanj
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

Siječanj 2020 uredi:

Ostavljam ovo u slučaju da ga netko želi koristiti 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 što treba promijeniti da bi funkcionirali. Također, moj način izgradnje rezultirao je nesigurnim neredom. Moj prijedlog je slijediti upute na drugom uputstvu ili kupiti pribor. Ova je kocka 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 onda 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 ovo moguće? Korištenjem Allegro Microsystems A6276EA LED upravljačkog programa.

Pokazat ću vam kako sam napravio kocku, upravljačku ploču i na kraju kôd kako bi zasjala.

Korak 1: Materijali

Materijali
Materijali

Svi dijelovi koji će vam trebati za izradu kocke: 1 Arduino/Freeduino s č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 1000 ohmskih otpornika, 1/4 vata ili više 12 560 ohmskih 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 ventilator za računalo Stari kabel za disketu za upravljanje Staro računalo za napajanje Mnogo žice za spajanje, lemljenje, lemilica, fluks, bilo što drugo da vam olakša život dok ovo radite. 7 "x7" (ili veći) komad drveta koji se koristi za izradu LED lemilice za lemljenje Lijepo kućište 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 tvrtke 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 puno stare računalne opreme pa su ti dijelovi otpali s 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 rešetku 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 sudoper. To znači da pruža put do zemlje, 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 -a općenito je anoda, provjerite svoju da biste bili sigurni. Prvo što sam učinio 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 svojoj 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. Umetnite 1 LED diodu u 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. To 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 spojiti žičanu rešetku kroz otpornik i dodirnuti uzemljeni kabel do svake katode. Zamijenite sve LED diode koje ne svijetle. Pažljivo uklonite sloj iz šablona i odložite ga. Ako savijete žice, ne brinite, samo izravnajte ih najbolje što možete. Vrlo se lako savija. Kao što možete vidjeti na mojim slikama, imao sam puno savijenih žica. Čestitam, gotovi ste 1/8. Napravite još 7 slojeva. OPCIONALNO: Za lemljenje slojevi zajedno (korak 3) lakše, 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či moraju biti s traight.

Korak 3: Sastavite kocku

Sastavite kocku
Sastavite kocku
Sastavite kocku
Sastavite kocku

Kako lemiti sve slojeve zajedno kako bi nastala kocka: Tvrdi dio je gotovo 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. Položite drugi sloj na prvi, poravnajte elektrode i počnite lemiti. Bilo mi je najlakše prvo napraviti uglove, zatim vanjski rub, 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 upravljačke ploče

Izgradnja Upravnog odbora
Izgradnja Upravnog odbora
Izgradnja Upravnog odbora
Izgradnja Upravnog odbora
Izgradnja Upravnog odbora
Izgradnja Upravnog odbora

Kako sastaviti 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 stupove. Našao sam stari ventilator za računalo od 40 mm sa ženskim molex konektorom koji ga je uključio u napajanje računala. Ovo je bilo savršeno. Mala količina protoka zraka kroz čip je korisna i sada imam jednostavan način da osiguram 5 volti čipovima kontrolera i samom Arduinu. Na shemi je RC otpornik za ograničavanje struje za sve LED diode spojene na svaki A6276EA. Koristio sam 1000 ohma jer LED diodi daje 5 miliampera, dovoljno da je osvijetli. Koristim High Brightness, a ne Super Brite LED diode, pa je trenutni odvod manji. Ako svijetli svih 8 LED dioda u koloni odjednom, to je samo 40 miliampera. Svaki izlaz A6276EA može podnijeti 90 miliampera pa sam u dobrom 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 sam ih imao 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 ploču upravljača za nešto veće. Koristite tranzistor bilo koje veličine koji odgovara vašim potrebama. Kondenzator od 330 uF preko izvora napona tu je da pomogne u ublažavanju manjih fluktuacija napona. Budući da koristim staro napajanje računala, to nije potrebno, ali ostavio sam ga u slučaju da netko želi upotrijebiti zidni adapter od 5 volti za napajanje svoje kocke. Svaki čip kontrolera A6276EA ima 16 izlaza. Nisam imao nikakav drugi prikladan 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 je 2 reda s 20 pinova, gola ploča Bones ima 18 pinova. Ovo je vrlo jeftin način (besplatno) za spajanje 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: Našao sam ovu drvenu škrinju u Hobby Lobbyju za 4 USD i mislio sam da bi bila savršena jer unutra ima prostora za držanje sve žice, a i lijepo izgleda. Obojao sam ovu crvenu boju, istu mrlju koju sam koristio na stolu za računalo 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 vrh, 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 spoji da bi se prošlo kroz male rupe jako teško. 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 kutne 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 shvatite ž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: Kodiranje

Kodirati
Kodirati

Kôd za ovu kocku radi se 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 stupac X mora osvijetliti pa mu 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 Enable (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 kontroleru 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 zasvijetli svaka druga LED dioda 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 zbrajanja, ali ja sam loš u bitnoj matematici pa sve radim u decimalnom obliku. Decimalni za prvih 16 bitova su 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 == 32768To znači ako želite osvijetlite izlaze 2 i 10, zbrajate desetke (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 podatke za 4 čipa. Što je jednostavno kao izgraditi za 1, samo to učinite još 3 puta. Koristim globalni niz varijabli za držanje kontrolnih kodova. Tako je jednostavno lakše. Nakon što imate spremna sva 4 koda zaslona za slanje, spustite zasun (postavite ga na LOW) i počnite slati kodove. Najprije morate poslati posljednju. Pošaljite kodove za čip 4, zatim 3, zatim 2, pa 1, a zatim ponovno postavite Latch na HIGH. Budući da je pin za omogućavanje uvijek spojen na masu, zaslon se odmah mijenja. Većina kocki kocke koje sam vidio na Instructables-u i na internetu općenito sastoji se od ogromnog bloka koda postavljenog za izvođenje unaprijed postavljene animacije. 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 izračun, a ne na unaprijed postavljene animacije. Uključio sam malu animaciju kako bih pokazao kako se to radi, ali prepustit ću vam da sami napravite svoje zaslone.cube8x8x8.pde je Arduino kod. Planiram nastaviti dodavati funkcije kodu i povremeno ću ažurirati program.matrix8x8.pde je program u obradi za izradu vlastitih zaslona. 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

Gotovi ste, sada je vrijeme da uživate u svojoj kocki. Kao što vidite, moja je kocka ispala pomalo nakrivljena. Nisam baš sklon izgradnji još jednog pa ću živjeti s tim što je krivo. Imam nekoliko mrtvih točaka koje moram pogledati. Možda je to loša veza ili bi mi mogao 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 vezu u komentarima ako je izgradite. Pokušavao sam odlučiti kamo ću odavde. Upravljačka ploča također će 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čeni: