Mainos
Jos olet taisteltu jonkin aloittelijan Arduino-projektin suhteen, mutta etsit jotain vähän pysyvää ja aivan muuta mahtavaa, niin nöyrä 4 x 4 x 4 LED-kuutio on luonnollinen valinta. Rakentaminen on paljon helpompaa kuin luuletkaan, ja multipleksoinnin avulla voimme ohjata kaikkia LED-laitteita suoraan yhdestä Arduino Uno -levystä. Se on hieno juotoskäytäntö, ja komponenttien kokonaiskustannusten ei pitäisi olla yli 40 dollaria.
Tänään esitän perusteellisesti asioiden rakentamispuolen ja tarjoan siihen käytettävää ohjelmistoa, joka näyttää vaikuttavalta ja opettaa sinulle perusasiat.
Tarvitset
- Työläs. Toimitetussa koodissa oletetaan Arduino Uno, mutta se voidaan säätää myös suurempaan malliin.
- 64 LEDiä - tarkka valinta on sinun, mutta käytin näitä erittäin kirkkaita 3 mm: n sinisiä LED-valoja (3,2v 30ma) @ 2,64 puntaa 50: ltä.
- 16 vastukset sopivasta arvosta LEDeillesi. Yllä oleville LEDille 99 pennyä osti niistä 100. Käyttää ledcalc.com - Syötä syöttöjännitteelle, LEDien jännitteelle (tapauksessani 3.2) ja virralle virta milliamppeina (3.2). Haluttu vastus näkyy merkittynä ruudussa “Lähin korkeimmin arvioitu vastus”, sitten etsi vain tämä arvo eBayssa.
- Jonkin verran käsityölanka vahvistaa perusrakennetta ja koristeeksi - käytin 0.8mm paksuus.
- prototyyppikortti jonkin tyyppinen, johon voit juottaa kaikki bitit. Käytin sellaista, jolla ei ollut täydellisiä raitoja, koska minulla ei ole radan leikkuria, mutta käytän mitä tahansa. Arduinon prototyyppikilpi on kuitenkin hiukan liian pieni, ellet todella purista LEDejäsi yhdessä.
- Satunnainen komponenttilanka - Jotkut verkkokaapelilangat ja jotkut sarjan prototyyppijohdoista toimivat hyvin.
- Krokotiilipidikkeet tai “auttavat kädet” ovat hyödyllisiä bittien pitämiseksi paikoillaan.
- Juotosrauda ja juote.
- Jotakin romua.
- Pora, samankokoisella bitillä kuin LEDit.
Huomaa: Tämän oppaan 3D-piirustukset tehtiin muutamassa minuutissa käyttämällä TinkerCAD. Seuraain olemassa olevaa rakennetta, joka on yksityiskohtaisesti kuvattu käyttäjän määrittämästä instrumentista forte1994, jonka haluat ehkä lukea myös ennen kuin yrität tätä.
Muista lukea kaikki nämä ohjeet ensimmäinen ennen kuin yrität tätä itsellesi.
Tämän suunnittelun periaate
Ennen kuin aloitat rakentamisen, on tärkeää saada täydellinen yleiskuva tämän asian toimimisesta, jotta voit improvisoida ja tunnistaa virheet matkalla. Jotkut LED-kuutiot käyttävät yhtä lähtötappia jokaisesta LEDistä - kuitenkin 4x4x4-kuutiossa, joka tarvittaisiin 64 Pin-lisäystä - jota meillä ei varmasti ole Arduino Unossa. Yksi ratkaisu olisi käyttää muutosrekisterit Arduino-ohjelmointi - leikkiminen siirtorekistereillä (a.k.a vielä enemmän LEDiä)Yritän tänään opettaa sinulle vähän Shift-rekistereistä. Nämä ovat melko tärkeä osa Arduino-ohjelmointia, pääasiassa siksi, että ne lisäävät käytettävien ulostulojen määrää vastineeksi ... Lue lisää , mutta tämä on tarpeettoman monimutkaista.
Jotta voimme ohjata kaikkia näitä LEDiä vain 20-nastaisessa, käytämme tekniikkaa, jota kutsutaan multipleksointiin. Hajottamalla kuutio neljään erilliseen kerrokseen, tarvitsemme vain 16 LEDin ohjaustapit - niin, että a syttyy tietylle LEDille, meidän on aktivoitava sekä kerros että ohjaustappi antaen meille kokonaisvaatimus 16 + 4 nastat. Jokaisella kerroksella on yhteinen katodi - piirin negatiivinen osa -, joten kaikki negatiiviset jalat on liitetty toisiinsa ja kytketty yhteen kerroksen nastaan.
Anodilla (Positiivinen) puolella jokainen LED kytketään vastaavaan LEDiin sen ylä- ja alapuolella olevassa kerroksessa. Pohjimmiltaan meillä on 16 positiivisen jalan saraketta ja 4 negatiivisen kerrosta. Tässä on joitain 3D-näkymiä yhteyksistä ymmärtääksesi:
rakentaminen
Koska emme käytä kokonaista metallirakennetta juottamiseen, haluamme, että LEDien kaikki jalat limittyvät noin neljänneksellä ja antavat rakenteelle jäykkyyden. Käännä LED-lamppujen katodi - sivu, jossa on litteä lovi päässä ja lyhyempi jalka - päälle kuvan osoittamalla tavalla. (Sillä ei ole väliä, taivutatko sitä vasemmalle tai oikealle, kunhan olet johdonmukainen ja et koskaan kosketa anodia)
Projektin ensimmäinen kriittinen osa on puurakenteen valmistaminen. Tämä pitää kerroksen LEDiä, kun juotat jalat yhteen, joten sen on oltava tarkka eikä liian löysä. Mittaa mitta ja poraa sitten 4 x 4 matriisi käyttämällä samankokoista poranterää kuin LEDit yhtä kaukana reikiä. Muista, että haluat noin neljänneksen jalasta olla päällekkäin naapurin kanssa, ja käytä todellista viivainta. Tarkista jokainen reikä varmistaaksesi, että merkkivalo mahtuu tiukasti, mutta ei niin tiukasti, ettet pysty enää poistamaan sitä ulos, tai sinulla on ongelmia yrittäessäsi poistaa täysin juotettu kerros.
Juotta 4 rivin LED-katodit. Ole varovainen, ettet polta LED-valoja - haluat hyvän kuuman silitysraudan, ollaksesi sisään ja ulos. Tässä on neljä ensimmäistä riviäni valmis.
Nyt vahvistaaksesi kerroksen jäykkyyttä leikkaa ja juota kaksi suoraa käsityölangan bittiä kumpaankin päähän varmistaen, että ne ovat yhteydessä jokaiseen riviin. Tämä on ensimmäinen kerros valmis. Jätä kaikki ylimääräiset jalat kiinni sivulta toistaiseksi.
Nyt olisi hyvä aika testata - lataa vain Arduino-oletusarkkitehtuurisovellus ja kytke vastus kytkettynä maa kerroksen kehykseen ja paina positiivinen johdin jokaiseen LEDiin vuorotellen.
Toivottavasti ne kaikki syttyvät. Jos ei, varmista, että et ole vain ohittanut juotosliitosta jossain, ja vaihda tarvittaessa LED.
Poista tämä kerros telineestä ja toista toimenpide Vielä 3 kertaa.
Älä huolestu, jos juotos ei ole täydellinen - niin kauan kuin se ei hajoa ja yhteys on vakaa, se ei vaikuta lopputuotteeseen. Myönnän, että juottamiseni oli melko toivoton, jigini oli pois päältä, ja kaikki muistutti Pisan kaltevaa tornia. Olen silti ylpeä valmiista kuutiosta, ja kun merkkivalot syttyvät, et silti katso juotosliitoksia!
Liittyminen kerroksiin
Kun sinulla on 4 valmista kerrosta, haluat liittää kaikki pystysuuntaiset jalat yhteen. Löysin tämän olevan vaikein osa rakennusta, ja prosessin helpottamiseksi leikkain nousukortin kortin ulkopuolelle.
Tämä piti kerrokset sopivalla korkeudella, mutta monet jalat eivät silti sopeutuneet täydellisesti - tätä varten käytin joitain krokotiilipidikkeitä niiden pitämiseksi paikoillaan.
Ensimmäinen tyhjä virhe, joka vältetään
Vasta täydellisen kerroksen suorittamisen jälkeen tajusin, että korttini nojaaja oli juuttunut paikoilleen, joten minun piti leikata se pois! Älä tee samaa virhettä kuin minä - tee nousuputki pidemmäksi ja liity kortinpalasiin kuution ulkopuolella, joten kun olet suorittanut kerroksen loppuun, voit purkaa nousevan rakenteen ja vetää sen kortti.
Toinen tyhjä virhe, joka vältetään
Älä juota pystysuuntaista jalkaa katodikehykseen. Pystysuorien jalkojen tulisi olla yhteydessä vain muihin pystysuoriin jaloihin, eikä mihinkään muuhun.
Testaa uudelleen, kun jokainen kerros on kiinnitetty. Testaa kaikki kerrokset, itse asiassa koskettamalla vain positiivista johtoa ylimmän kerroksen kärkeen. Näin varmistat, että sinulla on hyvä kontakti läpi kaikkien kerrosten.
Kun kaikki 4 kerrosta oli juotettu yhteen, aloin puhdistaa hiukan - jätin yhden ainoan jalan ulotettiin kustakin kerroksesta eräänlaisena vaiheena - tämä pudotettaisiin alas lauta myöhemmin. Muut metallirunkojen ja jalkojen ulkomaiset bitit katkaistiin. On selvää, että älä leikkaa mitään pystysuoria jalkoja - meidän on laitettava nämä meidän protooppilautaan.
Kiinnitys hallitukseen
Muistatko, kun sanoin, että jokaisen kerroksen kiinnittäminen itseensä oli vaikeinta? Valehtelin. On todella vaikeampaa yrittää sovittaa 16 LED-jalkaa pieniksi reikiksi prototyyppikortille. Helpoin tapa löysin selailla 4 kerrallaan, kiinnittää ne alla krokotiilipidikkeillä ja siirtyä seuraavaan 4 riviin. Merkitse etäisyys etukäteen merkintäkynällä, jos se auttaa.
Jälkikäteen katsottuna olisin tosiasiallisesti asettanut vastukset ensin esikorttiin. Joten se juotin ensin kaikki kuution jalat taululle, yritin sitten puristaa vastuksia herkästi kunkin väliin. Opi virheestäni ja aseta vastukset ensin.
Yritin sijoittaa ne tasapuolisesti askelta tavalla, jotta silloin voisin käyttää yhtä kokonaista kuution sivua kaikissa lopullisissa yhteyksissä Arduinoon. Tässä on piirikaavio, jonka mukana toimitin:
Neljän negatiivisen kerroksen kohdalla pudotin yhden johdon alas jokaisesta kerroksesta, vedin ne sitten vain sivuun, kuten tämä:
Lopuksi lisäsin joitain pistokejohtoja, jotka voin sitten sijoittaa asianmukaisiin Arduino-nastaisiin. Käytä pisinä tyyppiä, joka sinulla on. Huomaa Sekoitin tilauksen paikoissa huonon suunnittelun takia. Jokainen LED-rivi oli kuitenkin värikoodattu.
Se siitä. Valmis!
Kuution ohjelmointi
Tiedän, että et voi odottaa saavasi tämän potkut, joten kytke 4 negatiivista kerrosta Analoginen I / O satamat A2 (alakerros) kautta A5 (yläkerros)(nämä voivat toimia myös digitaalisena I / O). Kytke sitten 16 LED-ohjaustappia, alkaen +1 oikeassa reunassa että digitaalinen I / O portti 0, kanssa +15 ja +16 menee analogiseen A0 ja A1. (Älä käytä AREF: ää ja GND: tä)
Lataa esittelymallit ja koodi ohjattavalta käyttäjältä forte1994. Hän on myös antanut hyödyllinen online-työkalu tavumallien suunnitteluun oman sekvenssisi mukauttamiseksi. Tässä on video tästä koodista toiminnassa kuutiossani (Säädin nopeuden arvoon 5 oletusarvon 20 sijasta).
Tämä ei tietenkään ole ainoa tapa ohjelmoida kuutioisi, joten annan muutaman minuutin opettaa sinulle omien kuvioidesi luomisen perusteet ohjelmallisesti, sen sijaan, että toistettaisiin esiasetettuja kuvioita, kuten yllä oleva demo tekee.
On joitain asioita, jotka sinun pitäisi tietää, kun yrität ohjelmoida kuution:
- Käytä osoitetta yksittäiseen LED-valoon kone (kerros) numero 0–3 ja LED-pin numero 0–15. Käännä kone LOW-ulostuloon (koska tämä on negatiivinen jalka) ja LED-nastan numero KORKEA (positiivinen jalka) LEDin aktivoimiseksi.
- Ennen kuin aktivoit yhden LEDin, varmista, että kaikki muut koneet ovat pois päältä - se tarkoittaa, että ne asetetaan korkealle ulostulolle. Tämän tekemättä jättäminen johtaa LED-sarakkeen palamiseen yhden LEDin sijasta.
Tätä silmällä pitäen olen tehnyt sinulle kaksi hyvin yksinkertaista ohjelmallista sarjaa tutkittavaksi - lataa koodi täältä. Ensimmäinen vain valaisee jokaisen LEDin yksitellen, peräkkäin. Käytämme tässä kahta silmukoihin, iteroimalla kunkin kerroksen ja kunkin säätötapin yli.
Toinen on satunnainen silmukka (sinun on kommentoitava ensimmäinen ja sallittava tämä pääsilmukassa testataksesi sitä). Se valitsee vain satunnaisen kerroksen ja satunnaisen ohjaustapin, vilkuttaen niitä päälle ja pois.
Yhteenveto
Älä pelkää tätä rakennusta - minulta puuttuu vakavasti juotostaitoja, ja olen onnistunut siinä (Mielestäni?). Kokonaisrakennusaika oli noin tunti päivässä viikossa. Seuraavan kerran yritän opettaa sinulle kunnianhimoisempia kuutio-ohjelmointeja, joten toivon, että tulet mukaan minuun rakentamaan oma kuutio tällä viikolla ja ladataan uutta koodia ensi viikolla - ja jos teet omia mahtavia sovelluksia tai sarjoja, lähetä ne Pastebiniin ja kerro meille kommentit!
Jamesilla on teknisen älykunnan kandidaatin tutkinto ja hän on CompTIA A + ja Network + -sertifioitu. Hän on MakeUseOfin johtava kehittäjä ja viettää vapaa-aikansa pelaamalla VR-paintballia ja lautapelejä. Hän on rakennettu tietokoneita lapsuudestaan asti.