Kako napraviti pulsirajuću Arduino LED kocku koja izgleda kao da je došla iz budućnosti

  • Michael Fisher
  • 0
  • 5090
  • 204
Oglas

Ako ste se upuštali u neke početničke Arduino projekte, ali tražite nešto malo trajno i na nekoj drugoj razini fenomenalno, onda je skromna 4 x 4 x 4 LED kocka prirodan izbor. Izgradnja je daleko lakša nego što možda mislite, i pomoću multipleksiranja možemo kontrolirati sve LED diode izravno s samo jedne Arduino Uno ploče. Izvrsna je praksa lemljenja, a ukupni troškovi komponenti ne bi smjeli iznositi više od oko 40 USD.

Danas ću detaljno detaljiti građevinsku stranu stvari i pružiti neki softver koji će se pokretati na njemu koji izgleda dojmljivo i uči vas osnovama.

Trebat će vam

  • Arduino. Dobiveni kôd pretpostavlja Arduino Uno, no mogao bi se prilagoditi i većem modelu.
  • 64 LED - točan izbor je na vama, ali ja sam koristio ove super svijetle 3 mm plave LED diode (3.2v 30ma) @ 2,64 £ za 50.
  • 16 otpornika odgovarajuće vrijednosti za vaše LED. Za gornje LED diode 99 pencea je kupilo 100 ovih. Koristite ledcalc.com - unesite 5v za napon napajanja, napon LED dioda (u mom slučaju 3.2) i struju u miliamperima (3.2). Vaš željeni otpornik prikazat će se u okviru s oznakom “Najbliži viši otpornik”, onda samo tražite tu vrijednost na eBayu.
  • Neki zanatske žice za jačanje osnovne strukture i za ukrašavanje - koristio sam 0.8mm debljina.
  • ploča za izradu prototipa neke vrste na koju možete lemiti sve svoje bitove. Koristio sam onaj koji nije imao čitave zapise duž sebe, jer nemam urezač pjesama, ali koristim sve što vam odgovara. Arduino štitnik za prototipiranje ipak je malo premalen, osim ako stvarno ne stisnete svoje LED diode zajedno.
  • Slučajna komponenta žica - neke žice mrežnog kabela i neke od žica za prototipiranje iz kompleta dobro će raditi.
  • Kvačice od krokodila ili “pomažući rukama” korisni su za držanje bita na mjestu.
  • Lemljenje i lemljenje.
  • Malo drveta.
  • Bušilica, s bitovima iste veličine kao i vaše LED.

Napomena: 3D crteži u ovom vodiču napravljeni su u nekoliko minuta pomoću TinkerCAD-a. Slijedio sam postojeću verziju detalja o Instructables od korisnika forte1994, koju biste također trebali pročitati prije nego što pokušate ovo.

Obavezno pročitajte sve ove upute prvi prije nego što to pokušate sami.

Princip ovog dizajna

Prije nego što započnete s izgradnjom, važno je imati cjelovit pregled načina na koji će ova stvar funkcionirati, kako biste mogli improvizirati i prepoznati pogreške dok nastavljate dalje. Neke LED kocke koriste jedan izlazni pin za svaku pojedinu LED - no u kocki 4x4x4, to bi bilo potrebno 64 igle - kojeg sigurno nemamo na Arduino Unou. Jedno od rješenja bilo bi korištenje registara promjene Arduino programiranje - Igranje s registarskim pomacima (a.k.a još više LED-ova) Arduino programiranje - Igranje sa registarima pomaka (a.k.a još više LED-ova) Danas ću vas pokušati naučiti malo o Shift registrima. Ovo su prilično važan dio Arduinog programiranja, u osnovi jer proširuju broj izlaza koje možete koristiti, u zamjenu za…, ali to je nepotrebno komplicirano.

Da bismo kontrolirali sve LED diode u samo 20 pinova, koristit ćemo tehniku ​​zvanu multipleksiranje. Razbijanjem kocke na 4 odvojena sloja, potrebne su nam samo kontrolne pinove za 16 LED-ova, tako da za upaljivanje određene LED diode moramo aktivirati i sloj i upravljački pin, što nam daje ukupni zahtjev od 16 + 4 pina. Svaki sloj ima zajedničku katodu - negativni dio kruga - tako da su sve negativne noge spojene zajedno i spojene jednim pinom za taj sloj.

Na anodi (pozitivan) sa strane, svaki će LED diod biti povezan sa odgovarajućom LED diodom u sloju iznad i ispod njega. U osnovi imamo 16 stupaca pozitivnih nogu i 4 sloja negativnih. Evo nekih 3D prikaza veza radi lakšeg razumijevanja:

izgradnja

Budući da za lemljenje nećemo koristiti potpunu metalnu konstrukciju, želimo da se sve LED diode preklapaju za oko četvrtinu i daju krutost konstrukciji. Preklopite katodu svojih LED-dioda - stranu s ravnim urezom u glavi i kraćom nogom - kao što je prikazano na dijagramu. (Nije zapravo važno da li ga savijate ulijevo ili udesno, sve dok ste dosljedni i nikad ne dodiruje anodu)

Prvi kritični dio ovog projekta je izrada drvene jige. Ovo će zadržati sloj LED-ova dok lepite noge zajedno, tako da moraju biti precizni i ne previše labavi. Pomoću bušilice iste veličine kao i vaše LED diode izmjerite, a zatim izbušite matricu 4 × 4 na jednakom odstojanju rupe. Imajte na umu da želite da se oko četvrtine nogu preklapa sa susjedom i koristite stvarni ravnalo. Provjerite svaku rupu kako biste osigurali da LED može čvrsto stati, ali ne toliko usko da ga više nećete moći izvaditi ili ćete imati problema prilikom uklanjanja potpuno lemljenog sloja.

Zalijevajte katode od 4 reda LED-ova. Pazite da ne izgori LED diode - želite dobro vruće glačalo, te da budete unutra i van. Evo dovršena su moja prva četiri reda.

Sada, da biste ojačali krutost sloja, izrežite i zalijepite dva ravna bitova zanatske žice na oba kraja pazeći da se povežu sa svakim redom. Ovo je vaš prvi sloj završen. Ostavite da sve suvišne noge za sada ispadaju sa strane.

Sada bi bilo sjajno vrijeme za testiranje - samo napunite zadanu Arduino aplikaciju za treptanje i priključenim otpornikom stavite tlo na okvir sloja i pritisnite pozitivan kabel na svaku LED-u.

Nadam se da će svi zasvijetliti. Ako ne, provjerite da negdje niste propustili spoj lemilice, a po potrebi zamijenite LED.

Uklonite taj sloj iz uboda i ponovite postupak Još 3 puta.

Ne brinite ako vaše lemljenje nije savršeno - sve dok se neće prekinuti i veza je čvrsta, to neće utjecati na konačni proizvod. Priznajem, moje lemljenje bilo je prilično beznadno, moj jig je isključen, a sve je podsjećalo na nagnuti toranj iz Pise. Ipak sam ponosan na gotovu kocku, a kad se upale LED-ove, nećete više gledati spojeve lemilja!

Pridruživanje slojevima

Jednom kada imate 4 dovršena sloja, morat ćete spojiti sve okomite noge zajedno. Otkrio sam da je to najteži dio izrade, a kako bih pomogao procesu, izrezao sam uzlazno platno iz kartona.

Tako su se slojevi održavali na odgovarajućoj visini, ali puno se nogu još uvijek ne bi savršeno poravnalo - za to sam upotrijebio nekoliko kopči za krokodile da ih držim na mjestu.

1. glupačka greška koju treba izbjegavati

Tek nakon što sam ispunio cijeli sloj, shvatio sam da mi je uspornik kartice zaglavio na mjestu, pa sam ga morao izrezati! Ne pravite istu pogrešku koju sam i ja napravio - napravite uzlazni dio duže sa strane i pridružite se komadima kartice izvan kocke, tako da kad završite sloj, možete dekonstruirati uzlazni otvor i izvaditi karticu..

2. glupačka greška koju treba izbjegavati

Očito ne lepite okomitu nogu na okvir katode. Okomite noge trebaju se spojiti samo s drugim okomitim nogama i ništa više.

Ponovo testirajte nakon što se svaki sloj pričvrsti. Ispitajte sve slojeve, ustvari samo dodirivanjem pozitivnog vodiča do vrha gornjeg sloja i na taj način osigurajte da imate dobar kontakt kroz sve slojeve.

Kad su se sva četiri sloja lepila, započela sam malo čišćenje - ostavila sam jednu jedinu nogu ispruženu iz svakog sloja na neki način odskočnu dasku - to će se kasnije spustiti na ploču. Ostali komadići metalnog okvira i nogu bili su odsječeni. Očito, nemojte rezati nijednu okomitu nogu - trebamo ih staviti u našu ploču za prototiranje.

Pričvršćivanje na ploču

Sjećate se kad sam rekao kako je pričvršćivanje svakog sloja na sebe najteži dio? Lagao sam. Pokušaj postavljanja 16 LED nogu u sićušne rupe na prototipskoj ploči zapravo je teže. Najlakši način na koji sam našao bio je probijanje kroz četiri, osiguranje ih ispod isječaka od krokodila, zatim prelazak na sljedeći redak 4. Koristite olovku za markere da biste unaprijed označili razmake ako to pomaže.

Zapravo bih prvo stavio otpornike u protoboard. Kako je, prvo sam zalijepio sve noge kocke u ploču, a zatim pokušao osjetiti otpornike između svakog. Učite se iz moje pogreške i prvo postavite svoje otpornike.

Pokušao sam ih podrediti jednakim koracima kako bih tada mogao iskoristiti jednu cijelu stranu kocke za sve završne veze s Arduinom. Evo sheme kruga s kojom sam krenuo:

Za četiri negativna sloja, spustio sam po jednu žicu sa svakog sloja, a zatim ih samo povukao sa strane, ovako:

Na kraju sam dodao nekoliko žica za utikače koje sam mogao postaviti u odgovarajuće Arduino igle. Koristite najdužu vrstu koju imate. Napomena Zabrljao sam narudžbu na mjestima zbog lošeg planiranja. Svaki redak LED-a ipak je bio u boji.

To je to. Gotovi!

Programiranje vaše kocke

Znam da ne možete dočekati da se ovo aktivira, pa uključite 4 negativna sloja Analogni I / O priključci A2 (donji sloj) kroz A5 (gornji sloj) (mogu se ponašati i kao digitalni I / O). Zatim uključite 16 kontrolnih pinova, počevši od +1 s desne strane do digitalni I / O port 0, s +15 i +16 ide u analognu A0 i A1. (Ne koristite AREF i GND)

Preuzmite demo uzorke i kôd od instruktivnog korisnika forte1994. Također je pružio koristan mrežni alat za dizajniranje uzoraka bajta za prilagođavanje vlastitog niza. Evo video ovog koda u akciji na mojoj kocki (Prilagodio sam brzinu na 5, umjesto zadanih 20).

Ovo, naravno, nije jedini način programiranja vaše kocke, pa mi dopustite da provedem nekoliko minuta podučavajući vas osnovama pravljenja vlastitih obrazaca programski, umjesto da reproducirate unaprijed postavljene uzorke kao što to radi gore navedeni demo.

Nekoliko je stvari koje biste trebali znati prilikom pokušaja programiranja kocke:

  1. Da biste se obratili jednom LED-u, koristite a avion (sloj) broj 0-3, a LED pin 0-15. Okrenite ravninu na NIZI izlaz (obzirom da je ovo negativna noga) i broj LED pinova HIGH (pozitivna noga) da biste aktivirali LED.
  2. Prije aktiviranja jednog LED-a, osigurajte da su svi ostali zrakoplovi isključeni - to znači da ih postavite na VISOKI izlaz. Ako to ne učinite, rezultirat će da svijetli stupac LED dioda, a ne jedan LED.

Imajući to u vidu, napravio sam dva vrlo jednostavna programska nastavka koja trebate ispitati - preuzmite kod odavde. Prvi jednostavno svijetli svaki LED jedan po jedan, redom. Za to koristimo dvije petlje, iteriranje preko svakog sloja i svake kontrolne pinove.

Druga je slučajna petlja (morat ćete komentirati prvu i omogućiti je u glavnoj petlji da je testirate). Jednostavno odabire nasumični sloj i slučajni kontrolni pin, treperi ih i isključuje.

Sažetak

Nemojte se zastrašiti ovom sastavom - ozbiljno mi nedostaju vještine lemljenja i uspio sam dobro (Mislim?). Ukupno vrijeme izrade bilo je sat vremena ili tako dnevno, tjedan dana. Sljedeći put ću vas pokušati naučiti nekom ambicioznijem programiranju za kocku, pa se nadam da ćete mi se pridružiti u izradi vlastite kocke ovog tjedna i sljedećem tjednu učitati neki novi kod - i ako napravite svoj vlastiti fenomenalne aplikacije ili nastavke, pošaljite ih na Pastebin i javite nam u komentarima!




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.