reklama
Pokud jste se potkali s některými projekty pro začátečníky Arduino, ale hledáte něco trochu trvalého a na zcela jiné úrovni úžasné, pak je skromná LED kostka 4 x 4 x 4 přirozenou volbou. Konstrukce je mnohem jednodušší, než si myslíte, a pomocí multiplexování můžeme ovládat všechny LED diody přímo z jediné desky Arduino Uno. Je to skvělá pájecí praxe a celkové náklady na komponenty by neměly přijít na více než asi 40 $.
Dnes podrobně budu podrobně popisovat konstrukční stránku věcí a poskytnu nějaký software, který na ni běží, který vypadá působivě a naučí vás základy.
Budete potřebovat
- An Arduino. Dodaný kód předpokládá Arduino Uno, ale lze jej upravit i na větší model.
- 64 LED - přesná volba je na vás, ale já jsem použil tyto superbright 3 mm modré LED (3,2v 30ma) @ 2,64 £ za 50.
- 16 Rezistory vhodné hodnoty pro vaše LED diody. U výše uvedených LED diod koupilo 99 pencí 100 z nich. Použití ledcalc.com - zadejte 5v pro napájecí napětí, napětí LED (v mém případě 3.2) a proud v miliampérech (3.2). Požadovaný odpor se zobrazí v poli označeném „Nejbližší vyšší rezistor“, pak tuto hodnotu jednoduše vyhledejte na eBay.
- Nějaký řemeslný drát k posílení základní struktury a dekorace - použil jsem 0,8 mm tloušťka.
- A prototypová deska nějakého typu, do kterého můžete pájet všechny své kousky. Použil jsem ten, který na sobě neměl plné stopy, protože nemám frézu, ale používám vše, co ti vyhovuje. Prototypový prototyp Arduino je však příliš malý, pokud opravdu nespojíte LED diody dohromady.
- Vodič náhodných součástí - některé síťové kabely a některé prototypovací dráty ze sady budou fungovat dobře.
- Krokosvorky nebo „pomocné ruce“ jsou užitečné pro držení bitů na místě.
- Páječka a pájka.
- Nějaký šrot.
- Vrták se stejnou velikostí jako vaše diody LED.
Poznámka: 3D výkresy v tomto tutoriálu byly vytvořeny během několika minut TinkerCAD. Sledoval jsem existující sestavení podrobně o Instructables podle uživatele forte1994, kterou byste si také mohli přečíst před tím, než se o to pokusíte.
Nezapomeňte si přečíst všechny tyto pokyny První než se o to pokusíte sami.
Princip tohoto návrhu
Než začnete s výstavbou, je důležité mít úplný přehled o tom, jak bude tato věc fungovat, abyste mohli průběžně improvizovat a identifikovat chyby. Některé kostky LED používají jeden výstupní pin pro každou jednotlivou LED - avšak v kostce 4x4x4 by to bylo potřeba 64 pinů - což určitě nemáme na Arduino Uno. Jedním z řešení by bylo použití posuvné registry Programování Arduino - hraní s registry Shift (a.k.a ještě více LED)Dnes se vás pokusím trochu naučit o Shift Registers. Jedná se o docela důležitou součást programování Arduino, v podstatě proto, že rozšiřují počet výstupů, které můžete použít, výměnou za ... Přečtěte si více , ale je to zbytečně komplikované.
Abychom mohli všechny tyto LED diody ovládat pouze na 20 pinech, budeme používat techniku zvanou multiplexování. Rozdělením krychle do 4 samostatných vrstev potřebujeme pouze ovládací kolíky pro 16 LED - aby se rozsvítilo a specifické LED, musíme aktivovat jak vrstvu, tak řídicí pin, což nám dává celkový požadavek 16 + 4 kolíky. Každá vrstva má společnou katodu - zápornou část obvodu - takže všechna záporná ramena jsou spojena dohromady a připojena k jedinému kolíku pro tuto vrstvu.
Na anodě (pozitivní) na každé straně bude každá LED připojena k odpovídající LED ve vrstvě nad a pod ní. V podstatě máme 16 sloupců pozitivních nohou a 4 vrstvy negativních. Zde uvádíme několik pohledů na připojení, která vám pomohou porozumět:
Konstrukce
Protože k pájení nebudeme používat celokovovou strukturu, chceme, aby se všechny nohy LED překrývaly asi o čtvrtinu a aby struktura byla rigidní. Přeložte katodu vašich LED - stranu s plochým zářezem v hlavě a kratší nohou - tak, jak je znázorněno na obrázku. (Nezáleží na tom, jestli jej ohnete doleva nebo doprava, pokud jste důslední a nikdy se nedotkli anody.)
První kritickou částí tohoto projektu je výroba dřevěného přípravku. To bude držet vrstvu LED, zatímco pájíte nohy pohromadě, takže to musí být přesné a ne příliš volné. Použijte vrták stejné velikosti jako LED, změřte a poté vyvrtejte matici 4 × 4 stejně vzdálený díry. Mějte na paměti, že chcete, aby se čtvrtina nohy překrývala se sousedem, a použijte skutečné pravítko. Zkontrolujte každou díru, abyste se ujistili, že se dioda LED mohla pohodlně přizpůsobit, ale ne tak těsně, že ji nebudete moci znovu dostat ven, nebo budete mít problémy při pokusu o odstranění zcela pájené vrstvy.
Pájejte katody 4 řad LED. Dávejte pozor, abyste nevyhořeli LED - chcete dobrou horkou žehličku a aby byli uvnitř a ven. Tady jsou mé první čtyři řádky dokončeny.
Nyní, pro posílení tuhosti vrstvy, vyřízněte a pájejte dva rovné kousky řemeslného drátu na oba konce, ujistěte se, že jsou spojeny s každou řadou. Toto je vaše první vrstva dokončena. Nechte prozatím všechny přebytečné nohy vyčnívat z boku.
Nyní by byl skvělý čas vyzkoušet - stačí načíst výchozí aplikaci Arduino blink a se zapojeným rezistorem položit zem do rámečku vrstvy a postupně stisknout kladný kabel ke každé LED.
Doufejme, že se všichni rozsvítí. Pokud tomu tak není, ujistěte se, že jste někde prostě jen nestratili pájecí spoj, a pokud je to nutné, vyměňte LED.
Odstraňte tuto vrstvu z přípravku a postup opakujte 3krát.
Nedělejte si starosti, pokud vaše pájení není dokonalé - pokud se to nerozbije a připojení je pevné, nebude to mít vliv na finální produkt. Přiznám se, že moje pájení bylo docela beznadějné, můj přípravek byl pryč a všechno to připomínalo šikmou věž v Pise. Přesto jsem hrdý na hotovou krychli a když LED diody svítí, tak se na pájené spoje stejně nebudete dívat!
Spojování vrstev
Jakmile máte 4 dokončené vrstvy, budete chtít spojit všechny svislé nohy dohromady. Zjistil jsem, že je to nejtěžší část sestavy, a abych pomohl procesu, vyřízl jsem stoupačku z karty.
Vrstvy byly udržovány ve vhodné výšce, ale mnoho nohou se stále ještě nevyrovnálo - proto jsem je držel na místě pomocí krokosvorek.
1. Hloupá chyba, kterým je třeba se vyhnout
Teprve po dokončení celé vrstvy jsem si uvědomil, že moje karta riser byla přilepená na místě, takže jsem musel vystřihnout! Neudělejte stejnou chybu, jakou jsem udělal - prodloužte stoupačku na stranu a připojte kusy karet mimo krychli, takže jakmile dokončíte vrstvu, můžete rozložit konstrukci a vytáhnout Kartu.
2. Hloupá chyba, kterým je třeba se vyhnout
Nepřipájejte svislou nohu k rámu katody, samozřejmě. Vertikální nohy by se měly spojovat pouze s jinými vertikálními nohama a nic jiného.
Znovu testujte po připojení každé vrstvy. Vyzkoušejte všechny vrstvy ve skutečnosti pouze dotykem kladného vedení ke špičce nejvyšší vrstvy, čímž zajistíte, že budete mít dobrý kontakt procházející všemi vrstvami.
Když byly všechny 4 vrstvy pájeny dohromady, začal jsem trochu čistit - nechal jsem jednu nohu roztažený z každé vrstvy jakýmsi způsobem odrazového kamene - to by bylo spadnuto dolů na nastoupit později. Ostatní vnější kousky kovového rámu a nohou byly odříznuty. Zjevně neřezejte žádné svislé nohy - musíme je vložit do naší protoytovací desky.
Upevnění k desce
Pamatuješ, když jsem řekl, že upevnění každé vrstvy k sobě bylo nejtěžší? Lhal jsem. Pokus zapadnout 16 LED diod do malých děr na prototypové desce je vlastně těžší. Nejjednodušší způsob, jak jsem našel, bylo prorazit 4 najednou, zajistit je pod krokosvorky a poté přejít k další řadě 4. Pokud to pomůže, označte mezeru předem pomocí značkovacího pera.
Při zpětném pohledu bych vlastně nejprve umístil odpory do protoboardu. Jak to je, nejprve jsem pájel všechny nohy krychle do desky jako první, pak jsem se pokusil jemně vytlačit rezistory mezi nimi. Poučte se z mé chyby a nejprve umístěte odpory.
Snažil jsem se je rovnoměrně rozmístit krokovým způsobem, takže pak jsem mohl použít jednu celou stranu krychle pro všechna konečná spojení s Arduino. Tady je schéma zapojení, se kterým jsem šel:
U čtyř negativních vrstev jsem upustil jeden drát z každé vrstvy a pak jsem je stáhl stranou, takto:
Nakonec jsem přidal pár konektorových vodičů, které jsem pak mohl vložit do příslušných Arduino pinů. Použijte nejdelší druh, jaký máte. Poznámka: Pokazil jsem objednávku na místech kvůli špatnému plánování. Každá řada LED však byla barevně označena.
A je to. Dokončeno!
Programování kostky
Vím, že se nemůžete dočkat, až se tato věc rozhoří, takže zapojte 4 negativní vrstvy Analogové I / O přístavy A2 (spodní vrstva) přes A5 (horní vrstva)(mohou také fungovat jako digitální I / O). Poté připojte 16 ovládacích kolíků LED, počínaje +1 na krajní pravici na digitální I / O port 0, s +15 a +16 jít do analogu A0 a A1. (Nepoužívejte AREF a GND)
Stáhněte si ukázkové vzory a kód od poučitelného uživatele forte1994. Poskytl také užitečný online nástroj pro navrhování bajtových vzorů pro přizpůsobení vaší vlastní sekvence. Zde je video tohoto kódu v akci na mé krychli (Nastavil jsem rychlost na 5 namísto výchozích 20).
Toto není jediný způsob, jak naprogramovat vaši krychli, samozřejmě, takže mi dovolte strávit pár minut učením vás samotných základů tvorby vlastních vzorů programově, spíše než přehrání přednastavených vzorů, jak je uvedeno výše.
Při pokusu o programování krychle byste měli vědět několik věcí:
- Chcete-li oslovit jednu LED, použijte a letadlo (vrstva) číslo 0–3 a číslo pin LED 0–15. Otočte letadlo na NÍZKÝ výstup (protože je to záporná noha) a LED pin číslo HIGH (kladná noha) pro aktivaci LED.
- Před aktivací jediné LED se ujistěte, že jsou vypnuty všechny ostatní roviny - to znamená, že je nastavíte na VYSOKÝ výstup. Pokud tak neučiníte, bude to mít za následek rozsvícení sloupce LED než jedné LED.
S ohledem na to jsem pro vás připravil dvě velmi jednoduché programové sekvence - Stáhněte si kód zde. První jednoduše postupně rozsvítí každou LED diodu. K tomu používáme dvě smyčky, iterující přes každou vrstvu a každý kontrolní kolík.
Druhá je náhodná smyčka (první musíte komentovat a nechat ji otestovat v hlavní smyčce). Jednoduše vybere náhodnou vrstvu a náhodný ovládací kolík, který je zapíná a vypíná.
souhrn
Nenechte se tím touto sestavou zastrašit - vážně mi chybí pájecí schopnosti a zvládl jsem to v pořádku (Myslím?). Celková doba výstavby byla asi hodinu za den po dobu jednoho týdne. Příště se vás pokusím naučit nějaké ambicióznější programování pro krychli, takže doufám, že se ke mně připojíte při stavbě vlastní krychle tento týden načtení nového kódu příští týden - a pokud si vytvoříte své vlastní úžasné aplikace nebo sekvence, nahrajte je do Pastebinu a dejte nám vědět v komentáře!
James má bakalářský titul v oboru umělé inteligence a je držitelem certifikátu CompTIA A + a Network +. Je hlavním vývojářem MakeUseOf a tráví svůj volný čas hraním VR paintballu a deskových her. Staví počítače od dětství.