Obsah:

Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina: 7 kroků (s obrázky)
Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina: 7 kroků (s obrázky)

Video: Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina: 7 kroků (s obrázky)

Video: Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina: 7 kroků (s obrázky)
Video: Arduino Návod: Kostka | Česky (FilipProjects) [S2] 2024, Prosinec
Anonim
Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina
Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina
Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina
Jak postavit LED kostku 8x8x8 a ovládat ji pomocí Arduina

Leden 2020 úprava:

Nechávám to pro případ, že by to někdo chtěl použít ke generování nápadů, ale už nemá smysl stavět krychli na základě těchto pokynů. Integrované obvody ovladače LED se již nevyrábějí a oba náčrty byly napsány ve starých verzích Arduina a Processing a již se nespouštějí. Nevím, co je třeba změnit, aby fungovaly. Také moje stavební metoda vyústila v podivný nepořádek. Můj návrh je postupovat podle pokynů na jiném pokynu nebo si koupit sadu. V roce 2011 stála tato kostka kolem 50 dolarů, nyní si můžete koupit sadu z eBay za přibližně 20 dolarů.

Původní úvod:

Na Instructables je spousta LED kostek, tak proč dělat další? Většina z nich je pro malé kostky sestávající z 27 nebo 64 LED, zřídka větší, protože jsou omezeny počtem výstupů dostupných na mikrokontroléru. Tato kostka bude mít 512 LED diod a bude potřebovat pouze 11 výstupních vodičů z Arduina. Jak je tohle možné? Pomocí ovladače Allegro Microsystems A6276EA LED.

Ukážu vám, jak jsem vyrobil samotnou kostku, řídicí desku a nakonec kód, aby svítil.

Krok 1: Materiály

Materiály
Materiály

Všechny součásti, které budete ke stavbě kostky potřebovat: 1 Arduino/Freeduino s čipem Atmega168 nebo vyšším 512 LED diod, velikost a barva jsou na vás, použil jsem 3mm červené 4 čipy LED A6276EA LED z tranzistorů Allegro 8 NPN pro řízení toku napětí „Použil jsem tranzistor BDX53B Darlington 4 odpory 1 000 ohmů, 1/4 wattů nebo vyšší 12560 ohmů odpory, 1/4 watt nebo vyšší 1 330uF elektrolytický kondenzátor 4 24pinová IC zásuvka 9 16 pinová IC zásuvka 4" x4 "(nebo větší) kus perfboardu, do kterého se vejdou všechny díly, starý počítačový ventilátor, starý kabel disketového ovladače, staré napájení počítače, spousta propojovacích vodičů, pájky, páječky, tavidla, čehokoli jiného, co vám usnadní život. 7 "x7" (nebo větší) kus dřeva použitý k výrobě LED pájecího přípravku Pěkným pouzdrem pro zobrazení hotové krychle Moje vybrané Arduino/Freeduino je deska Bare Bones Board (BBB) od www.moderndevice.com. LED diody byly zakoupeny z eBay a stály 23 $ za 1000 LED dodaných z Číny. Zbývající elektronika byla zakoupena od společnosti Newark Electronics (www.newark.com) a měla by stát pouze kolem 25 USD. Pokud musíte koupit všechno, tento projekt by měl stát jen kolem 100 dolarů. Mám spoustu starého počítačového vybavení, takže tyhle díly sešly ze šrotu.

Krok 2: Sestavte vrstvy

Sestavte vrstvy
Sestavte vrstvy
Sestavte vrstvy
Sestavte vrstvy
Sestavte vrstvy
Sestavte vrstvy
Sestavte vrstvy
Sestavte vrstvy

Jak vyrobit 1 vrstvu (64 LED) z této 512 LED kostky: LED diody, které jsem koupil, měly průměr 3 mm. Rozhodl jsem se použít malé LED diody, abych snížil náklady a aby konečná velikost kostky byla dostatečně malá, aby seděla na mém stole nebo polici, aniž bych úplně převzal stůl nebo polici. Nakreslil jsem mřížku 8x8 s přibližně 0,6 palce mezi řádky. Tím jsem získal velikost krychle kolem 4,25 palce na stranu. Vyvrtejte otvory 3 mm v místech, kde se linky setkávají, a vytvořte přípravek, který udrží LED diody při pájení každé vrstvy. A6276EA je současné dřezové zařízení. To znamená, že poskytuje spíše cestu k zemi než cestu ke zdrojovému napětí. Kostku budete muset postavit ve společné konfiguraci anody. Většina kostek je postavena jako běžná katoda. Dlouhá strana LED diody je obecně anoda, pro jistotu zkontrolujte svoji. První věc, kterou jsem udělal, bylo otestovat každou LED. Ano, je to dlouhý a nudný proces a můžete jej přeskočit, pokud chcete. Raději bych strávil čas testováním LED diod, než abych našel mrtvé místo ve své kostce poté, co byla sestavena. Našel jsem 1 mrtvou LED z 1000. Není to špatné. Odřízněte 11 kusů pevného, neizolovaného připojovacího drátu na 5 palců. Umístěte 1 LED na každý konec řady ve vašem přípravku a poté připájejte vodič ke každé anodě. Nyní umístěte zbývajících 6 LED diod do řady a připájejte tyto anody k drátu. To může být svisle nebo vodorovně, na tom nezáleží, pokud děláte všechny vrstvy stejným způsobem. Když dokončíte každou řadu, ořízněte přebytečný olovo z anod. Nechal jsem asi 1/8 . Opakujte, dokud nedokončíte všech 8 řad. Nyní připájejte 3 kusy připojovacího drátu napříč řadami, které jste právě vytvořili, abyste je všechny spojili do jednoho kusu. Poté jsem vrstvu otestoval připojením 5 voltů zapojte drátěnou mřížku přes odpor a dotkněte se zemnícího vodiče ke každé katodě. Vyměňte všechny LED diody, které nesvítí. Opatrně odstraňte vrstvu z přípravku a odložte ji. Pokud ohnete dráty, nebojte se, jen narovnejte je, jak nejlépe můžete. Je velmi snadné ohýbat. Jak můžete vidět z mých obrázků, měl jsem spoustu ohnutých drátů. Gratulujeme, máte hotovo z 1/8. Vytvořte dalších 7 vrstev. POVINNÉ: Chcete -li pájet vrstvy dohromady (krok 3) jsou snazší, zatímco každá další vrstva je stále v přípravku, ohněte horní čtvrt palce katody dopředu o 45 až 90 stupňů. To umožní olovu dosáhnout kolem LED, ke které se připojuje, a bude pájení hodně jednodušší. Neprovádějte to u první vrstvy, prohlásíme, že jedna je spodní vrstva a svody musí být s traight.

Krok 3: Sestavte kostku

Sestavte kostku
Sestavte kostku
Sestavte kostku
Sestavte kostku

Jak pájet všechny vrstvy dohromady, aby vznikla kostka: Tvrdá část je téměř u konce. Nyní opatrně umístěte jednu vrstvu zpět do přípravku, ale nepoužívejte příliš velký tlak, chceme ji odstranit, aniž bychom ji ohýbali. Tato první vrstva je horní stranou krychle. Na první vrstvu položte další vrstvu, zarovnejte vodiče a začněte pájet. Zjistil jsem, že je nejjednodušší udělat nejprve rohy, pak vnější hranu a pak vnitřní řady. Pokračujte v přidávání vrstev, dokud nebudete hotovi. Pokud jste svody předem ohnuli, pak vrstvu uložte rovnými svody na konec. Je to dno. Mezi každou vrstvou jsem měl příliš mnoho prostoru, takže jsem nedostal tvar krychle. Není to nic vážného, můžu s tím žít.

Krok 4: Sestavení řídicí desky

Budování řídicí desky
Budování řídicí desky
Budování řídicí desky
Budování řídicí desky
Budování řídicí desky
Budování řídicí desky

Jak sestavit desku řadiče a připojit ji k Arduinu: Postupujte podle schématu a sestavte desku, jakkoli si vyberete. Umístil jsem čipy ovladače do středu desky a pomocí levé strany držel tranzistory, které ovládají proud do každé vrstvy krychle, a pravou stranou jsem držel konektory, které jdou od čipů ovladače ke katodám LED sloupce. Našel jsem starý 40mm počítačový ventilátor s konektorem molex pro připojení k napájení počítače. To bylo perfektní. Malé množství proudění vzduchu přes čip je užitečné a nyní mám snadný způsob, jak poskytnout 5 voltů čipům řadiče a samotnému Arduinu. Na schématu je RC odpor omezující proud pro všechny LED připojené ke každému A6276EA. Použil jsem 1000 ohmů, protože poskytuje 5 miliampér LED, což je dost na to, aby se rozsvítilo. Používám vysoký jas, ne Super Brite LED, takže odběr proudu je nižší. Pokud svítí všech 8 LED diod ve sloupci najednou, je to jen 40 miliampérů. Každý výstup A6276EA zvládne 90 miliampérů, takže jsem v dosahu. RL je odpor připojený k logickým nebo signálním vodičům. Skutečná hodnota není příliš důležitá, pokud existuje a není příliš velká. Používám 560 ohmů, protože jsem jich měl spoustu k dispozici. Použil jsem výkonový tranzistor schopný zvládnout až 6 ampérů k ovládání proudu procházejícího každou vrstvou krychle. To je pro tento projekt přehnané, protože každá vrstva krychle bude čerpat pouze 320 miliampérů se všemi rozsvícenými LED diodami. Chtěl jsem růst prostor a později bych mohl použít řídicí desku k něčemu většímu. Použijte tranzistor libovolné velikosti, který vyhovuje vašim potřebám. Kondenzátor 330 uF napříč zdrojem napětí vám pomůže vyhladit jakékoli menší kolísání napětí. Protože používám starý počítačový zdroj, není to nutné, ale nechal jsem to jen pro případ, že by někdo chtěl k napájení své kostky použít 5voltový nástěnný adaptér. Každý čip řadiče A6276EA má 16 výstupů. Neměl jsem žádný jiný vhodný konektor, takže jsem připájel vodiče k nějakým 16pólovým zásuvkám IC a použil je k připojení desky řadiče k krychli. Také jsem rozřízl zásuvku IC na polovinu a použil ji k připojení 8 vodičů, které spojují tranzistory s vrstvami krychle. Odřízl jsem asi 5 palců od konce starého disketového kabelu, abych je použil jako konektor pro Arduino. Disketový kabel má 2 řady po 20 pinech, deska Bones Bones má 18 vývodů. Jedná se o velmi levný způsob (zdarma) pro připojení Arduina k desce. Oddělil jsem plochý kabel ve skupinách po 2 vodičích, odizoloval konce a spojil je dohromady. To vám umožní zapojit Arduino do kterékoli řady konektoru. Postupujte podle schématu a připájejte konektor na místo. Nezapomeňte pájet 5voltové a uzemňovací vodiče pro konektor, aby bylo možné napájet Arduino. Mám v úmyslu použít tuto řídicí desku pro jiné projekty, takže modulární design pro mě funguje dobře. Pokud chcete spoje natáhnout na tvrdo, je to v pořádku.

Krok 5: Sestavte vitrínu

Sestavte vitrínu
Sestavte vitrínu
Sestavte vitrínu
Sestavte vitrínu
Sestavte vitrínu
Sestavte vitrínu
Sestavte vitrínu
Sestavte vitrínu

Aby váš finální produkt vypadal hezky: Našel jsem tuto dřevěnou truhlu v Hobby Lobby za 4 dolary a myslel jsem si, že by byla perfektní, protože má uvnitř prostor pro uložení veškerého drátu a navíc vypadá hezky. Obarvil jsem tuto červenou, stejnou skvrnu, kterou jsem použil na počítačový stůl, aby se shodovaly. Nakreslete mřížku nahoře stejné velikosti jako mřížka použitá pro pájecí přípravek (0,6 palce mezi řádky). Vyvrtejte otvory, které umožní vedení skrz vrchol, a vyvrtejte další otvor za mřížkou pro vodiče vrstvy/roviny (z tranzistorů v kroku 4). Naučil jsem se tvrdě, že pokus o seřazení 64 vedení k procházení malými otvory je velmi obtížný. Nakonec jsem se rozhodl znovu vyvrtat všechny otvory o něco větší, aby proces proběhl rychleji. Nakonec jsem použil kolem vrtáku 0,2. Nyní, když kostka sedí na displeji, ohněte rohové vývody, aby kostka zůstala na svém místě, když připojíte dráty. Ujistěte se, že jste připojili všechny vodiče ve správném pořadí. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 A připojte vodiče mezi vrstvami (na schématu označenými „roviny“) a tranzistory. Tranzistor na pinu Arduino 6 je vrchní vrstvou krychle. Pokud se vám pletou vodiče špatně, je to v kódu poněkud opravitelné, ale může to vyžadovat hodně práce, zkuste je tedy seřadit ve správném pořadí. Dobře, vše je vytvořeno a připraveno k provozu, pojďme získat kód a vyzkoušet to.

Krok 6: Kód

Kód
Kód

Kód pro tuto krychli se provádí jinak než většina, vysvětlím, jak se přizpůsobit. Většina kódu krychle používá přímé zápisy do sloupců. Kód říká, že sloupec X je třeba rozsvítit, tak mu dejte trochu šťávy a máme hotovo. To nefunguje při použití čipů řadiče. Čipy řadiče používají k rozhovoru s Arduino 4 vodiče: SPI-in, Clock, Latch a Enable. Uzemňovací kolík (kolík 21) jsem uzemnil přes odpor (RL), takže výstup je vždy povolen. Nikdy jsem nepoužil Enable, takže jsem ho vyjmul z kódu. SPI-in jsou data z Arduina, Clock je časovací signál mezi nimi a Latch říká regulátoru, že je čas přijmout nová data. Každý výstup pro každý čip je řízen 16bitovým binárním číslem. Například; odeslání 1010101010101010 do ovladače by způsobilo rozsvícení všech ostatních LED diod na ovladači. Váš kód musí projít vším potřebným pro zobrazení a vytvořit toto binární číslo a poté jej odeslat na čip. Je to jednodušší, než to zní. Technicky je to spousta bitových přírůstků, ale já jsem mizerný v bitové matematice, takže dělám vše v desítkové soustavě. Desetinné číslo pro prvních 16 bitů je následující: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768 To znamená, pokud chcete rozsvítí výstupy 2 a 10, sečtením desetinných čísel (2 a 512) získáte 514. Pošlete 514 do ovladače a rozsvítí se výstupy 2 a 10. Ale máme více než 16 LED, takže je to trochu obtížnější. Potřebujeme vytvořit informace o zobrazení pro 4 čipy. Což je stejně snadné jako postavit to na 1, udělejte to ještě 3krát. K uchovávání řídicích kódů používám globální proměnné pole. Je to tak jednodušší. Jakmile budete mít všechny 4 kódy zobrazení připravené k odeslání, zrušte západku (nastavte ji na NÍZKOU) a začněte kódy odesílat. Nejprve musíte poslat poslední. Odešlete kódy pro čip 4, pak 3, pak 2, pak 1, poté znovu nastavte západku na VYSOKOU. Vzhledem k tomu, že pin Enable je vždy připojen k zemi, displej se okamžitě změní. Většina kódu krychle, který jsem viděl na Instructables, a na webu obecně, se skládá z obrovského bloku sady kódů pro provádění přednastavené animace. To funguje dobře pro menší kostky, ale potřeba ukládat, číst a odesílat 512 bitů binárních souborů pokaždé, když chcete změnit zobrazení, zabírá spoustu paměti. Arduino nezvládlo víc než pár snímků. Napsal jsem tedy několik jednoduchých funkcí, abych ukázal krychli v akci, která spoléhá spíše na výpočet než na předem nastavené animace. Zahrnul jsem malou animaci, která ukazuje, jak se to dělá, ale nechám na vás, abyste si vytvořili vlastní displeje. Cube8x8x8.pde je kód Arduino. Mám v plánu pokračovat v přidávání funkcí do kódu a program budu pravidelně aktualizovat. Matrix8x8.pde je program v Processing pro vytváření vlastních displejů. První uvedené číslo jde do vzoru1 , druhé do vzoru2 atd. Datový list pro A6276EA je k dispozici na adrese:

Krok 7: Zobrazte svou ruční práci

Ukažte svou ruční práci
Ukažte svou ruční práci

Hotovo, nyní je čas si kostku užít. Jak vidíte, moje kostka vyšla trochu křivá. Nemám moc zájem stavět další, takže budu žít s tím, že bude křivý. Mám pár hluchých míst, na která se musím podívat. Může to být špatné připojení, nebo budu potřebovat nový čip řadiče. Doufám, že vás tento Instructable inspiruje k vytvoření vlastní kostky nebo jiného projektu LED pomocí A6276AE. Pošlete odkaz do komentářů, pokud jej vytvoříte. Zkoušel jsem se rozhodnout, kam jít odtud. Řídicí deska bude také ovládat kostku RGB 4x4x4, takže je to možné. Myslím, že by bylo úhledné udělat sféru a způsob, jakým mám napsaný kód, by nebyl příliš obtížný.

Doporučuje: