Oglas
Če ste se zapletli v nekaj začetnih Arduino projektov, vendar iščete nekaj malo trajnega in na povsem drugi ravni super, potem je skromna 4 x 4 x 4 LED kocka naravna izbira. Gradnja je veliko lažja, kot si morda mislite, in s pomočjo multipleksiranja lahko nadzorujemo vse LED-diode neposredno iz ene same Arduino Uno plošče. Odlična praksa spajkanja, skupni stroški sestavnih delov pa ne bi smeli presegati 40 USD.
Danes bom podrobno podrobno opisal konstrukcijsko plat in zagotovil nekaj programske opreme, ki bi jo lahko izvajala, ki bi bila videti impresivno in vas naučila osnov.
Boste potrebovali
- An Arduino. Priložena koda predvideva Arduino Uno, vendar bi ga bilo mogoče prilagoditi tudi večjemu modelu.
- 64 LED diod - natančna izbira je odvisna od vas, vendar sem uporabil te super svetle 3 mm modre LED (3.2v 30ma) @ 2,64 £ za 50.
- 16 upori ustrezne vrednosti za vaše LED. Za zgornje LED diode je 99 pencev kupilo 100 teh. Uporaba ledcalc.com - vnesite 5v za napajalno napetost, napetost LED (v mojem primeru 3.2) in tok v miliamperih (3.2). Vaš želeni upor bo prikazan v polju z oznako »Najbližji upor višjega razreda«, nato samo poiščite to vrednost na eBayu.
- Nekateri obrtna žica za krepitev osnovne strukture in za okras - sem uporabil 0,8 mm debeline.
- A prototipna plošča neke vrste, na katero lahko spajkate vse svoje bite. Uporabil sem tisto, ki ni imela polnih skladb, saj nimam noža za rezanje skladb, vendar uporabljam vse, kar vam ustreza. Arduino ščit za prototipiranje je sicer malo premajhen, razen če resnično stisnete LED.
- Naključna komponentna žica - nekatere mreže omrežnih kablov in nekatere žice za izdelavo prototipov iz kompleta bodo delovale v redu.
- Krokodilski sponki ali "roke za pomoč" so koristne za držanje bitov na mestu.
- Spajkalnik in spajkalnik.
- Nekaj odpadnega lesa.
- Vrtalnik, ki ima enako velikost kot vaš LED.
Opomba: 3D risbe v tej vadnici so bile narejene v nekaj minutah TinkerCAD. Sledil sem obstoječo zgradbo, podrobno opisano na Instructables, po uporabniku forte1994, ki ga boste morda želeli prebrati, preden to poskusite.
Preberite vsa ta navodila najprej preden poskusite to storiti sami.
Načelo tega oblikovanja
Preden začnete graditi, je pomembno imeti popoln pregled nad tem, kako bo ta stvar delovala, da boste lahko med njimi improvizirali in prepoznali napake. Nekatere LED kocke uporabljajo en izhodni pin za vsako posamezno LED - vendar v kocki 4x4x4, kar bi bilo potrebno 64 zatičev - česar Arduino Uno zagotovo nimamo. Ena izmed rešitev bi bila uporaba izmenski registri Arduino programiranje - igranje z registri Shift (a.k.a še več LED)Danes vas bom poskušal naučiti nekaj o registrih Shift. To je precej pomemben del programiranja Arduino, predvsem zato, ker širijo število izhodov, ki jih lahko uporabite v zameno za ... Preberi več , vendar je to po nepotrebnem zapleteno.
Za nadzor vseh teh LED v samo 20 zatičih bomo uporabili tehniko, imenovano multipleksiranje. Če razbijemo kocko na 4 ločene plasti, potrebujemo samo nadzorne zatiče za 16 LED-diod - torej za prižiganje a specifično LED, moramo aktivirati tako plast kot kontrolni zatič, tako da imamo skupno zahtevo 16 + 4 zatiči. Vsaka plast ima skupno katodo - negativni del vezja - zato so vsi negativni kraki združeni in povezani z enim zatičem za to plast.
Na anodi (pozitivno) Vsaka LED dioda bo v plasti nad in pod njo povezana z ustrezno LED. V bistvu imamo 16 stolpcev pozitivnih nog in 4 plasti negativnega. Tu je nekaj ogledov 3D povezav, ki vam bodo pomagali razumeti:
Gradnja
Ker za spajkanje ne bomo uporabljali celotne kovinske konstrukcije, želimo, da se vse LED diode prekrivajo za približno četrtino in strukturi dajo togost. Zložite katodo vaših LED - stran z ravno ploščo v glavi in krajšo nogo - čez, kot je prikazano na diagramu. (Ni pomembno, ali ga upognete levo ali desno, če ste dosledni in se nikoli ne dotakne anode)
Prvi kritični del tega projekta je izdelava lesenega vboda. To bo zadrževalo plast LED, medtem ko noge spajkujete skupaj, zato mora biti natančna in ne preveč ohlapna. S svedrom iste velikosti kot LED diode izmerite in nato izvrtajte matrico 4 × 4 enako oddaljena luknje. Upoštevajte, da želite, da se približno četrtina noge prekriva s sosedom in uporabite dejansko ravnilo. Preverite vsako luknjo, da zagotovite, da se LED lahko prilega tesno, vendar ne tako tesno, da je ne boste mogli ponovno izvleči ali pa boste imeli težave, ko boste odstranili popolnoma spajkan sloj.
Spajkamo katode 4 vrstice LED. Pazite, da ne izgorijo LED-diod - želite dobro vroče likalnik ter biti v in zunaj. Tu so izpolnjene moje prve štiri vrstice.
Zdaj, da okrepite togost plasti, razrežite in spajite dva ravna bita žice za obrt na oba konca in se prepričajte, da sta povezani z vsako vrstico. To je vaš prvi sloj končan. Zaenkrat pustite, da vse odvečne noge štrlijo ob strani.
Zdaj bi bil odličen čas za preizkus - samo naložite privzeto aplikacijo za utripanje Arduino in s priključenim uporom položite tla na okvir plasti in pritiskajte pozitiven vod k vsaki LED.
Upajmo, da se bodo vsi prižgali. Če ni, se prepričajte, da niste le zgrešili spajkalnega spoja nekje in če je potrebno, zamenjajte LED.
Odstranite to plast z vboda in ponovite postopek Še 3 krat.
Ne skrbite, če vaše spajkanje ni popolno - če se ne bo prekinilo in je povezava trdna, to ne bo vplivalo na končni izdelek. Priznam, moje spajkanje je bilo precej brezupno, moj džip je bil izključen in vse je spominjalo na nagnjeni stolp v Pisi. Kljub temu sem ponosen na končno kocko, in ko svetijo LED-ji, ne boste več gledali spajkalnih spojev!
Pridružitev slojem
Ko imate 4 dokončane plasti, se boste želeli združiti vse navpične noge skupaj. Ugotovil sem, da je to najtežji del gradnje in da bi pomagal pri postopku, sem izrezal dvižno ploščo iz kartice.
Tako so plasti ohranili primerno višino, vendar se veliko nog še vedno ne bi popolnoma poravnalo - za to sem uporabil nekaj sponk za krokodile, da jih držim na mestu.
1. neumna napaka, ki se ji je treba izogniti
Šele po končanem polnem sloju sem ugotovil, da se je dvigalka moje kartice obtičala na mestu, zato sem jo morala izrezati! Ne delajte enake napake kot jaz - naredite dvig dlje ob strani in se pridružite koščkom kartice zunaj kocke, tako da ko dokončate plast, lahko dekonstruirate dvižni vod in izvlečete kartica.
2. neumna napaka, ki se ji je treba izogniti
Očitno ne spajkajte navpične noge na okvir katode. Navpične noge naj se povezujejo le z drugimi navpičnimi nogami in nič drugega.
Spet preizkusite, ko je vsak sloj pritrjen. Preizkusite vse plasti, saj se le dotikate pozitivnega vodila do vrha zgornje plasti in tako zagotovite, da boste imeli dober stik skozi vse plasti.
Ko sem vse štiri sloje spajkal, sem se lotil malo čiščenja - pustil sem eno samo nogo iz vsake plasti na nekakšen odskočni način - to bi se spustilo navzdol do tabla pozneje. Drugi zunanji kosi kovinskega okvirja in nog so bili odrezani. Očitno ne odrezujte nobene navpične noge - te moramo vstaviti v našo desko za izdelavo prototipov.
Pritrditev na odbor
Se spomnite, ko sem rekel, da je pritrjevanje vsake plasti na najtežji del? Lagal sem. Poskusi namestitve 16 LED nog v drobne luknje na prototipirani plošči je pravzaprav težje. Najlažji način, ki sem ga ugotovil, je bil, da pobegnem skozi štiri naenkrat, jih zavarujem pod sponkami s krokodili in nato nadaljujemo v naslednjo četrto vrsto. S pomočjo pisala označite razmike vnaprej, če vam to pomaga.
V resnici bi v resnici najprej uporabil upore v protoboard. Kakor je že, sem najprej spojil vse noge kocke v ploščo, nato pa poskusil med seboj občutljivo stisniti upore. Učite se iz moje napake in najprej postavite svoje upore.
Poskušal sem jih enakomerno razporediti, da bi potem lahko uporabil eno celotno stran kocke za vse končne povezave z Arduino. Tukaj je shema vezja, s katero sem šel:
Pri štirih negativnih plasteh sem iz vsake plasti spustil po eno žico, nato pa jih samo potegnil na stran, takole:
Na koncu sem dodal nekaj vtičnih žic, ki sem jih nato lahko namestil v ustrezne Arduino zatiče. Uporabite najdaljšo vrsto, ki jo imate. Opomba Naročilo sem pokvaril na mestih zaradi slabega načrtovanja. Vsaka vrsta LED je bila barvno označena.
To je to. Dokončano!
Programiranje vaše kocke
Vem, da komaj čakaš, da se ta stvar odžene, zato vključi 4 negativne plasti Analogni V / I pristanišča A2 (spodnja plast) skozi A5 (zgornja plast)(te lahko delujejo tudi kot digitalni V / I). Nato priključite 16 kontrolnih zatičev LED, začenši z +1 na skrajni desni strani do digitalni V / I vrata 0, s +15 in +16 prehaja v analogno A0 in A1. (Ne uporabljajte AREF in GND)
Prenesite demo vzorci in koda od poučnega uporabnika forte1994. Poskrbel je tudi za koristno spletno orodje za oblikovanje vzorcev bajtov, da prilagodite svoje zaporedje. Tu je videoposnetek te kode v akciji na moji kocki (Hitrost sem prilagodil na 5, namesto privzetih 20).
To seveda ni edini način programiranja kocke, zato naj vam namenim nekaj minut, da vas naučim osnove izdelave lastnih vzorcev programsko, namesto da predvajate prednastavljene vzorce, kot to počne zgoraj.
Ob poskusu programiranja kocke morate vedeti nekaj stvari:
- Če želite nasloviti posamezno LED, uporabite a letalo (plast) številka 0–3 in številka LED 0–15. Obrnite ravnino na izhod LOW (ker je to negativna noga) in številko LED zatiča HIGH (pozitivna noga), da vklopite LED.
- Pred aktiviranjem ene same luči se prepričajte, da so vsa ostala letala izključena - to pomeni, da jih nastavite na VISOKI izhod. Če tega ne storite, se prižge stolpec LED in ne ena sama LED.
Glede na to sem za ogled naredil dve zelo preprosti programski sekvenci - prenesite kodo od tu. Prva preprosto prižge vsako LED eno za drugo zaporedoma. Za to uporabljamo dve zanki, iteriranje nad vsako plastjo in vsak kontrolni zatič.
Druga je naključna zanka (prvo boste morali komentirati in omogočiti v glavni zanki, da jo preizkusite). Preprosto izbere naključno plast in naključni kontrolni zatič, ki jih vklopi in izklopi.
Povzetek
Ne bo me ustrahovala ta sestava - resno primanjkujem veščin spajkanja in to sem dobro uredil (Mislim?). Skupni čas izdelave je bil eno uro na dan en teden. Naslednjič vas bom poskušal naučiti nekaj bolj ambicioznega programiranja kocke, zato upam, da se mi boste ta teden pridružili pri sestavljanju lastne kocke in naslednji teden naložite novo kodo - in če naredite svoje odlične aplikacije ali sekvence, jih naložite na Pastebin in nam sporočite v komentarji!
James ima doktorat iz področja umetne inteligence in ima certifikat CompTIA A + in Network +. Je vodilni razvijalec MakeUseOf in svoj prosti čas preživlja z igranjem VR paintball in družabnih iger. Z računalniki gradi že od malih nog.