Skelbimas

arduino dažnio vedamasJei svarstėte apie kai kuriuos pradedančiuosius „Arduino“ projektus, bet ieškote kažko šiek tiek nuolatinio ir visai kitokio lygio, tuomet kuklus 4 x 4 x 4 LED kubas yra natūralus pasirinkimas. Statyba yra daug lengvesnė, nei jūs galite pamanyti. Naudodami multipleksavimą, mes galime valdyti visus šviesos diodus tiesiai iš vienos „Arduino Uno“ plokštės. Tai puiki litavimo praktika, o visos sudedamųjų dalių kainos neturėtų viršyti 40 USD.

Šiandien aš išsamiai aprašysiu daiktų konstrukcijos pusę ir pateiksiu tam reikalingą programinę įrangą, kuri atrodo įspūdingai ir moko pagrindus.

Jums reikės

  • An Arduino. Pateiktame kode yra „Arduino Uno“, tačiau jis gali būti pritaikytas ir didesniam modeliui.
  • 64 šviesos diodai - tikslus pasirinkimas priklauso nuo jūsų, bet aš panaudojau šiuos ypač šviesius 3 mm mėlynos spalvos šviesos diodus (3,2v 30ma) @ 2,64 svaro už 50.
  • 16 rezistoriai atitinkamos vertės jūsų šviesos diodams. Aukščiau nurodytų šviesos diodų atveju 99 pensai nusipirko 100 iš jų. Naudokite
    instagram viewer
    ledcalc.com - įveskite 5v maitinimo įtampą, šviesos diodų įtampą (mano atveju 3.2) ir srovę miliamprais (3.2). Jūsų norimas rezistorius bus parodytas dėžutėje su etikete „Artimiausias aukštesniojo lygio rezistorius“, tada tiesiog ieškokite tos vertės „eBay“.
  • Kai kurie amatų viela pagrindinei struktūrai sutvirtinti ir dekoravimui - naudojau 0,8 mm storis.
  • A prototipų lenta tam tikro tipo, prie kurio galite priklijuoti visus savo bitus. Aš naudojau tą, kuriame nebuvo pilnų takelių, nes neturiu vėžių pjaustytuvo, bet naudoju viską, kas jums tinka. „Arduino“ prototipų skydas yra šiek tiek per mažas, nebent jūs kartu suspausite savo šviesos diodus.
  • Atsitiktinio komponento viela - kai kurios tinklo kabelio sruogos ir kai kurie rinkinio prototipų laidai veiks gerai.
  • Krokodilo spaustukai arba „pagalbos rankos“ yra naudingos bitėms laikyti.
  • Lituoklis ir litavimas.
  • Dalis medienos laužo.
  • Gręžtuvas, tokio pat dydžio, kaip ir jūsų šviesos diodai.

Pastaba: 3D pavyzdžiai šioje instrukcijoje buvo padaryti per kelias minutes naudojant „TinkerCAD“. Aš sekiau esamą statyti išsamų įrankį, kurį pateikė vartotojas forte1994, kurį taip pat galbūt norėsite perskaityti prieš bandydami tai padaryti.

Būtinai perskaitykite visas šias instrukcijas Pirmas prieš bandydami tai sau.

Šio dizaino principas

Prieš pradedant statybą, svarbu turėti išsamią apžvalgą, kaip šis dalykas veiks, kad eidami pro šalį galėtumėte improvizuoti ir nustatyti klaidas. Kai kuriuose LED kubuose naudojamas vienas išvesties kaištis kiekvienam LED - vis dėlto 4x4x4 kubui to prireiktų 64 kaiščiai - kurio mes tikrai neturime „Arduino Uno“. Vienas sprendimas būtų naudoti pamainų registrai „Arduino“ programavimas - žaidimas su poslinkio registrais (dar daugiau šviesos diodų)Šiandien pabandysiu jus šiek tiek išmokyti apie „Shift“ registrus. Tai yra gana svarbi „Arduino“ programavimo dalis iš esmės todėl, kad jie padidina išėjimų, kuriais galite naudotis, mainais į ... Skaityti daugiau , bet tai be reikalo sudėtinga.

Norėdami valdyti visus šiuos šviesos diodus tik su 20 kontaktų, mes naudosime metodą, vadinamą multipleksavimu. Padalijus kubą į 4 atskirus sluoksnius, mums reikia tik 16 šviesos diodų kontrolinių kaiščių - kad užsidegtų a specifinį šviesos diodą, mes turime suaktyvinti ir sluoksnį, ir valdymo kaištį, iš viso reikalaujantį 16 + 4 smeigtukai. Kiekvienas sluoksnis turi bendrą katodą - neigiamą grandinės dalį - todėl visos neigiamos kojos yra sujungtos ir sujungtos į vieną to sluoksnio kaištį.

Ant anodo (teigiamas) pusėje, kiekvienas šviesos diodas bus prijungtas prie atitinkamo šviesos diodo, esančio sluoksnyje virš jo ir po juo. Iš esmės turime 16 teigiamų kojų stulpelių ir 4 neigiamų sluoksnių. Štai keletas jungčių 3D vaizdų, kurie padės jums suprasti:

arduino dažnio vedamas
arduino vadovaujama šviesos programa

Statyba

Kadangi litavimui nenaudosime visos metalinės konstrukcijos, norime, kad visos šviesos diodų kojos sutaptų maždaug ketvirtadaliu ir suteiktų konstrukcijai tvirtumo. Sulenkite savo šviesos diodų katodą - šoną su plokščia galvute galvoje ir trumpesne koja - per, kaip parodyta diagramoje. (Nesvarbu, ar lenkiate ją į kairę ar į dešinę, jei esate nuoseklus ir niekada neliečia anodo), visiškai nesvarbu.

arduino vadovaujama šviesos programa

Pirmoji kritinė šio projekto dalis yra medinio čiulptuko gamyba. Kol lituosite kojas, tai laikys šviesos diodų sluoksnį, todėl jis turi būti tikslus ir ne per laisvas. Išmatuokite ir pragręžkite 4 × 4 matricą, naudodami tokio paties dydžio grąžtą kaip ir jūsų šviesos diodai lygus atstumas skylių. Atminkite, kad norite, kad maždaug ketvirtadalis kojos sutaptų su kaimyne, ir naudokite faktinį valdovą. Patikrinkite kiekvieną skylę, kad įsitikintumėte, ar šviesos diodas tinka tiksliai, bet ne taip sandariai, kad nebegalėsite jo išmesti, arba turėsite problemų bandant pašalinti visiškai lituotą sluoksnį.

arduino vadovaujama šviesos programa

Lydyti 4 eilučių šviesos diodų katodus. Būkite atsargūs, kad nedegtų šviesos diodai - jūs norite gero karšto lygintuvo, kad būtumėte ir lauke. Pateiktos mano pirmosios keturios eilutės.

arduino vadovaujama

Dabar, norėdami sustiprinti sluoksnio tvirtumą, supjaustykite ir lituokite du tiesius rankdarbių vielos gabalus į abi puses, įsitikinkite, kad jie jungiasi su kiekviena eilute. Tai yra jūsų pirmasis sluoksnis baigtas. Kol kas palikite visas perteklines kojas išlindusias į šoną.

Dabar būtų puikus laikas išbandyti - tiesiog įkelkite numatytąją „Arduino mirksėjimo“ programą ir, prijungę rezistorių, padėkite žemę prie sluoksnio rėmo ir paspauskite teigiamą laidą prie kiekvieno šviesos diodo.

arduino vadovaujama

Tikimės, kad jie visi užsidegs. Jei ne, įsitikinkite, kad kažkur nepraleidote lydmetalio jungties ir prireikus pakeiskite šviesos diodą.

Pašalinkite tą sluoksnį iš platformos ir pakartokite procesą Dar 3 kartus.

Nesijaudinkite, jei jūsų litavimas nėra tobulas - kol jis nenutrūks ir ryšys bus tvirtas, tai neturės įtakos galutiniam produktui. Pripažįstu, mano litavimas buvo gana beviltiškas, mano stendas buvo išjungtas, ir visa tai priminė pasvirusį Pizos bokštą. Vis dėlto aš didžiuojuosi pagamintu kubu, o kai užsidegs šviesos diodai, jūs vis tiek nežiūrėsite į litavimo jungtis!

Prisijungimas prie sluoksnių

Kai turėsite 4 užpildytus sluoksnius, norėsite sujungti visas vertikalias kojas. Man pasirodė, kad tai yra sunkiausia konstrukcijos dalis, ir palengvindama procesą iškirpiau viršutinę dalį iš kortelės.

arduino vadovaujama

Taip sluoksniai buvo laikomi tinkamame aukštyje, tačiau daugelis kojų vis tiek neprilygsta tobulai - tam aš naudojau keletą krokodilo spaustukų, kad juos laikyčiau vietoje.

Kaip pasigaminti pulsuojantį „Arduino“ LED kubelį, kuris, atrodo, atrodė iš ateities, saugias veritkalines kojas su krokodilo spaustukais

1-oji kvaila klaida, kurios reikia vengti

Tik užbaigus visą sluoksnį, supratau, kad mano kortelių pakelis įstrigo vietoje, todėl turėjau jį iškirpti! Nedaryk tos pačios klaidos, kurią padariau: padaryk ilgesnį šoninį riserį ir prisijunkite prie kortelės gabalų ne kubo išorėje, taigi, kai baigsite sluoksnį, galite dekonstruoti viršutinį aukštį ir ištraukti kortelė.

Kaip pasidaryti pulsuojantį „Arduino“ LED kubą, kuris, atrodo, atrodė iš ateities kortelės „jig“ sluoksnio 3

2-oji kvaila klaida, kurios reikia vengti

Aišku, nelieskite vertikalios kojos prie katodo rėmo. Vertikalios kojos turėtų jungtis tik prie kitų vertikalių kojų, ir nieko daugiau.

Dar kartą patikrinkite, ar pritvirtintas kiekvienas sluoksnis. Iš tikrųjų išbandykite visus sluoksnius, paliesdami tik teigiamąjį šviną iki viršutinio sluoksnio galo, taip įsitikinsite, kad per visus sluoksnius turite gerą kontaktą.

Kai visi 4 sluoksniai buvo lituojami kartu, aš pradėjau šiek tiek valyti - palikau vieną koją išplėstos iš kiekvieno sluoksnio tam tikru žingsniu - tai būtų numetamas iki lenta vėliau. Buvo nupjauti kiti pašaliniai metalinio rėmo ir kojų gabaliukai. Akivaizdu, kad neišpjaukite nė vienos vertikalios kojos - jas turime sudėti į savo prototipų lentą.

Kaip pasigaminti pulsuojantį „Arduino“ LED kubą, kuris, atrodo, atrodė iš ateities, 4 sluoksniai sukomplektuoti ir atidaryti

Tvirtinimas prie lentos

Prisimeni, kai sakiau, kad sunkiausia buvo pritvirtinti kiekvieną sluoksnį prie savęs? Aš melavau. Iš tikrųjų sunkiau bandyti 16 LED lempučių pritvirtinti prie mažų skylių prototipų plokštėje. Paprasčiausias būdas, kurį radau, buvo kišti per 4 kartu, pritvirtinti juos apačioje krokodilo spaustukais, tada pereiti prie kitos 4 eilutės. Naudokite žymeklį, kad iš anksto pažymėtumėte tarpus, jei tai padeda.

Kaip pasigaminti pulsuojantį „Arduino“ LED kubelį, kuris, atrodo, atrodė iš ateities, pritvirtinimas prie proto lentos

Retrospektyviai tariant, aš pirmiausia būčiau įdėjęs rezistorius į prototipą. Kaip yra, aš pirmiausia suvirinau visas kubo kojas į lentą, tada stengiausi subtiliai išspausti rezistorius tarp jų. Pasimokykite iš mano klaidos ir pirmiausia pastatykite rezistorius.

Aš bandžiau juos išdėstyti vienodai laipsniškai, kad galėčiau naudoti vieną visą kubo pusę visoms galutinėms jungtims su Arduino. Čia yra schema, kurią aš turėjau:

Kaip pasigaminti pulsuojantį „Arduino“ LED kubą, kuris, atrodo, atrodė iš ateities, laidų schema

Keturiems neigiamiems sluoksniams aš numečiau po vieną vielą žemyn nuo kiekvieno sluoksnio, tada tiesiog nubrėžiau juos į šoną, taip:

Kaip pasigaminti pulsuojantį „Arduino“ LED kubą, kuris, atrodo, atrodė iš ateities iš viršaus pritvirtintų katodų

Galiausiai pridėjau kelis kištukinius laidus, kuriuos vėliau galėjau įstatyti į atitinkamus Arduino kaiščius. Naudokite ilgiausią jūsų turimą rūšį. Pastaba Dėl netinkamo planavimo netvarkingai užsakydavau vietas. Vis dėlto kiekviena šviesos diodų eilutė buvo pažymėta spalva.

Kaip pasidaryti pulsuojantį „Arduino“ LED kubą, kuris, atrodo, atsirado iš ateities apatinės instaliacijos

Viskas. Baigta!

Kaip pasidaryti pulsuojantį „Arduino“ LED kubą, kuris, atrodo, atrodė iš ateities 4x4x4 led kubas

Programuoti savo kubą

Žinau, kad negalite laukti, kol šis dalykas bus atleistas, todėl prijunkite 4 neigiamus sluoksnius Analoginis I / O uostai A2 (apatinis sluoksnis) per A5 (viršutinis sluoksnis)(tai taip pat gali veikti kaip skaitmeninis įvestis / išvestis). Tada įjunkite 16 šviesos diodų valdymo kaiščius, pradedant nuo +1 dešinėje dešinėje į skaitmeninis I / O 0 prievadas, su +15 ir +16 einant į analogą A0 ir A1. (Nenaudokite AREF ir GND)

arduino dažnio vedamas

Atsisiųskite demonstracinius modelius ir kodą nuo instruktuojamo vartotojo forte1994. Jis taip pat pateikė naudingas internetinis įrankis kuriant baitų modelius, kad būtų galima pritaikyti savo seką. Čia yra šio vaizdo įrašo vaizdo įrašas, kaip veikia mano kubas (Vietoj numatytojo 20 sureguliavau greitį iki 5).

Žinoma, tai nėra vienintelis būdas užprogramuoti savo kubą, todėl leisk man keletą minučių išmokyti tave pačius pagrindus, kaip kurti savo modelius. programiškai, o ne atkurti iš anksto nustatytus modelius, kaip tai daroma aukščiau pateiktoje demonstracinėje versijoje.

Bandant programuoti savo kubą, reikia žinoti kelis dalykus:

  1. Norėdami pašalinti vieną šviesos diodą, naudokite a lėktuvas (sluoksnio) skaičius 0–3, o LED kaištis - nuo 0 iki 15. Norėdami suaktyvinti šviesos diodą, pasukite plokštumą į žemą išvestį (nes tai yra neigiama kojelė) ir šviesos diodo kaiščio numerį HIGH (teigiamą koją).
  2. Prieš įjungdami vieną šviesos diodą, įsitikinkite, kad visos kitos plokštumos yra išjungtos - tai reiškia, kad nustatykite juos į AUKŠTĄ išėjimą. To nepadarius, LED lemputė stulpelyje užsidega, o ne vienas šviesos diodas.

Atsižvelgdamas į tai, aš sukūriau jums dvi labai paprastas programavimo sekas, kurias galėsite išnagrinėti - atsisiųskite kodą iš čia. Pirmasis paprasčiausiai užsidega kiekvienas šviesos diodas po vieną. Tam mes naudojame dvi kilpas, kartodami kiekvieną sluoksnį ir kiekvieną valdymo kaištį.

Antrasis yra atsitiktinė kilpa (pirmąjį turėsite komentuoti ir įgalinti pagrindinėje kilpoje, kad galėtumėte išbandyti). Jis tiesiog išrenka atsitiktinį sluoksnį ir atsitiktinį valdymo kaištį, mirksi juos įjungdamas ir išjungdamas.

Santrauka

Nebijokite dėl šio pastatymo - man labai trūksta litavimo įgūdžių ir aš puikiai tai sugebėjau (Aš manau?). Bendras pastatymo laikas buvo maždaug valanda dienos per savaitę. Kitą kartą pabandysiu išmokyti jus kiek ambicingesnių kubo programavimo būdų, todėl tikiuosi, kad jūs šią savaitę prisijungsite prie mano kuriant savo kubą ir įkelsime naują kodą kitą savaitę - ir jei kuriate savo nuostabias programas ar sekas, įkelkite jas į „Pastebin“ ir praneškite mums apie tai komentarai!

Jamesas yra dirbtinio intelekto bakalauras ir yra CompTIA A + bei Network + sertifikuotas. Jis yra pagrindinis „MakeUseOf“ kūrėjas ir laisvalaikį praleidžia žaisdamas VR dažasvydį ir stalo žaidimus. Nuo mažens jis statė kompiuterius.