Obsah:

Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem: 7 kroků
Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem: 7 kroků

Video: Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem: 7 kroků

Video: Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem: 7 kroků
Video: Трюмный бак 126 — СОВЕРШЕННО НОВЫЙ ПИКАД! 2024, Červenec
Anonim
Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem
Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem
Koule Magic Answers s Arduino Pro Mini a TFT displejem
Koule Magic Answers s Arduino Pro Mini a TFT displejem
Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem
Kouzlo Magic Answers s Arduino Pro Mini a TFT displejem

Před nějakou dobou jsme s dcerou rozebrali kouzlo Magic 8, aby mohla nahradit dvacet odpovědí těmi, které si vybrala. Byl to dárek pro jejího přítele. To mě přimělo přemýšlet o tom, jak to udělat ve větším měřítku. Mohli bychom mít mnohem více než 20 odpovědí? S elektronickou verzí můžeme!

Takže to bude popisovat, jak jsem rozebral Mattel Magic 8 Ball (omlouvám se, Mattel) a použil kulatý TFT displej k zobrazení neuvěřitelného množství dalších reakcí (nejmenší micro-SD karta, kterou jsem našel, byla 8 GB, takže je opravdu přehnaná k čemu se používá). Míč pomocí desky Sparkfun Wake-on-shake spustí reakci a poté míč vypne, aby šetřil baterii. Nabíjecí deska slouží k nabíjení baterie z USB připojení.

Zásoby

Díly:

Arduino Pro Mini 328 - 3,3 V/8 MHz

SparkFun Wake on Shake

Lithium -iontová baterie - 400 mAh

Organizér 12ks Nabíjecí modul TP4056 5V Micro USB 1A 18650 Nabíjecí deska lithiové baterie s ochranným nabíjecím modulem (potřebujete pouze jeden z nich, ale balení 12 bylo méně než 9 USD)

Úložná deska DAOKI 5ks Micro SD (opět potřebujete pouze jednu, ale 5 balení bylo stále méně než 9 $)

Modul displeje DFRobot 2,2 palce TFT LCD

Kingston 8 GB microSD (můžete mít doma starý z nich)

Perma-Proto Quarter-size Breadboard PCB (můžete také použít jakýkoli PCB, který se vám líbí)

Magic 8 Ball

FTDI Basic breakout 3.3V (jeden z nich už možná máte, pokud jste podobný projekt prováděli s deskou Arduino Pro Mini nebo podobnou)

4pólové pouzdro s 2,54 mm JST XH konektorem Dupont Wire Connector Kit (volitelně, ale doporučeno pro připojení baterie)

Další základní zásoby:

Tvarovatelné lepidlo Sugru (lze použít lepicí pásku a horké lepidlo, ale toto se mi líbí více)

Lepící páska

Oboustranná pěnová páska

Drát

Nástroje:

Páječka

Rotační nástroj podle vašeho výběru (tj. Dremel)

Svorka na nábytek

Krok 1: Rozřízněte kouli Magic 8 na polovinu

Rozřízněte kouli Magic 8 na polovinu
Rozřízněte kouli Magic 8 na polovinu
Rozřízněte kouli Magic 8 na polovinu
Rozřízněte kouli Magic 8 na polovinu

Nejprve budete muset Magic 8 Ball rozdělit na polovinu. Zajistil jsem svůj k pracovnímu stolu plochou stranou dolů pomocí nábytkové svorky. Pomocí Dremelu s připojeným základním řezacím kotoučem prořízněte podél švu míče. Budete muset řezat hluboko, pokud to řezný kotouč dovolí. Vzít to pomalu. Dokonce i poté, co jste řezali celou cestu, možná budete muset použít konečné šroubovák nebo dláto pro konečné oddělení. Uvnitř je válec, který drží „kouzelnou“kapalinu a ikosahedron (dvacetistranný tvar - ano, musel jsem se na to podívat). Prostě to vyhoďte nebo použijte v jiném projektu. Pokud ji použijete v jiném projektu, dejte mi vědět, co jste udělali, abych věděl, co mám dělat s mým.

Zůstanou vám dvě poloviny, jak ukazuje obrázek. Udělal jsem to teď třikrát a naposledy, bílý ret byl hladký, spíše než měl hřebeny, takže vaše koule může vypadat trochu jinak než na obrázku.

Kolem vnějšího okraje bude ještě nějaká plastová struska (roztavený a zpevněný plast). Brzdit to rukama, pokud můžete; při použití nástroje hrozí odření povrchu míče a struska se uvolňuje docela snadno.

Krok 2: Připravte míč

Připravte míč
Připravte míč
Připravte míč
Připravte míč
Připravte míč
Připravte míč

Na plastových polovinách míče budeme muset provést dvě úpravy.

Nejprve v otevřené polovině, na které je namalováno „8“, budeme muset oholit dostatečně velkou plochu, aby naše nabíjecí deska USB seděla s vyčnívajícím portem USB. Použil jsem svůj Dremel s připojeným hrubým brusným bubnem. Chcete, aby to bylo tak tenké, jak jen to jde, aniž byste museli pročistit. Poté vyřízněte malý otvor, který je dostatečně velký, aby port USB mohl proklouznout ven. Použil jsem posuvné měřítko k měření portu USB, ale pokud je to nutné, pravděpodobně byste to mohli sledovat. K provedení otvoru jsem opět použil Dremel s malým řezacím nástavcem. První dva obrázky ukazují otevření a jak to vypadá s USB deskou za ním.

Za druhé, v druhé polovině, ta s otvorem na OBOU stranách a bílým plastovým okrajem, připravte místo pro posezení. Hned uvnitř otvoru, kde bude sedět displej, jsou na vnitřní straně otvoru plastové hřebeny a gumová (?) Příruba. Vyjměte přírubu a odložte ji stranou. Později to vrátíme, ale chceme to pro tento krok z cesty. Displej má na jedné straně pravoúhlé vysunutí, které mu nedovolí sedět naplocho v otvoru, pokud některé z těchto hřebenů nejsou odstraněny. Opět použijte hrubý brusný buben na Dremel a oholte je co nejvíce. Vstupte z otvoru, kde bude mít displej nejlepší úhel. Po dokončení by to mělo vypadat jako na obrázcích. Všimněte si, že obrázky ukazují displej na svém místě, ale zatím ho NEPŘIPOJUJTE.

Krok 3: Připravte si odpovědi na kartu Micro-SD

Tento krok je trochu komplikovanější, než byste si mohli myslet. Pokud si nechcete vytvořit vlastní seznam odpovědí, přeskočte na poslední odstavec tohoto kroku.

Záměrem je, abychom mohli dát míčku jakýkoli seznam řetězců, které mají být použity jako možné reakce, a budou vycentrovány na obrazovku bez jakýchkoli přestávek uprostřed slov. Nechceme provádět toto zpracování na mikrokontroléru a chceme soubor se statickou velikostí záznamu, abychom mohli rychle najít konkrétní řádek.

I když je displej kulatý, funkčně jde o virtuální obdélníkový displej s viditelnými pouze pixely v kruhu. Displej může zobrazovat text více velikostí, ale používáme pouze nejmenší verzi, která má 6 x 8 pixelů. Při použití této velikosti je na obrazovku možné umístit 315 znaků (21 znaků na řádek krát 15 řádků), ale pouze 221 je viditelných a každý řádek má jiný počet viditelných znaků. Vidíte problém?

Napsal jsem program Java, který přijme soubor neformátovaných odpovědí a převede je na plně vycentrované záznamy, které lze snadno zobrazit na kulatém TFT. (odkaz ke stažení souboru „FormatToPicksFileFullyCentered.java“).

Aniž bychom se zabývali vysvětlováním celého kódu, obecná myšlenka je, že postupujeme zpět od středu (ish) a vkládáme mezery, abychom se ujistili, že nerozdělíme slova přes viditelné řádky, a poté uděláme totéž z střed dopředu. Nakonec smyčkujeme všechny řádky a vystředíme každý řádek uvnitř celých 21 znakových řádků, abychom vytvořili záznam přesně 316 bytů (315 alfanumerických znaků plus znak nového řádku). Kód ve skutečnosti funguje prostřednictvím tří písem, x 3, x 2 a x 1, aby zjistil, které je největší písmo, které lze použít, a přesto se vejde do textu. Vycentrování je u písem x 2 a x 3 trochu mimo, promiňte. Dávejte pozor na znaky, které zabírají více než jeden bajt, protože ty mohou vyhodit soubor, který je na výstupu.

Zkopírujte soubor „picks.txt“na kartu micro-SD.

Pokud nechcete projít problémem s vytvořením vlastního seznamu tipů, přidal jsem svůj seznam tipů, které můžete jednoduše zkopírovat na kartu SD a použít. V tuto chvíli se mi nepodařilo nahrát soubor.txt do instructables, takže zde je odkaz, kde si můžete stáhnout soubor picks.txt.

Krok 4: Nahrajte kód do Arduino Mini

Nahrajte kód do Arduino Mini
Nahrajte kód do Arduino Mini
Nahrajte kód do Arduino Mini
Nahrajte kód do Arduino Mini
Nahrajte kód do Arduino Mini
Nahrajte kód do Arduino Mini

Za prvé, pokud jste nikdy předtím nepoužívali Arduino Pro Mini, nemůžete jednoduše připojit kabel USB a stahovat; musíte použít desku FTDI a připojit vodiče k příslušným pinům na mini. Tady na to nedám návod, na webu je toho spousta. Nechtěl jsem na desku mikrokontroléru připájet trvalý konektor, který bude použit pouze jednou ke stažení kódu, a tak jsem vytvořil malý klip, který lze použít k programování mini bez pájení (viz obrázky). Inspirovalo mě to produkty jako Fiddy, ale já nemám snadný přístup k 3D tiskárně, a tak jsem si vyrobil vlastní z klipu na bramborové lupínky. Pokud to lidi zajímá, vytvořím instruktáž právě k tomu.

Ještě ke kódu. Tento kód obsahuje několik zajímavých částí, ale většinou jde přímo vpřed.

Ve funkci nastavení existuje slušné množství kódu, který se zabývá získáním dobrého náhodného semene. Typický způsob použití analogového čtení z nepřipojeného pinu podle mých zkušeností neposkytuje dostatečně pestrou odezvu. Dostanu číslo mezi 477 a 482. Jelikož náhodná funkce Arduino má jednu a pouze jednu sekvenci a semeno určuje, kde v této sekvenci začít, tak úzký rozsah nakonec nevytvoří dostatek možných odpovědí. Mějte na paměti, že tento kód v podstatě začíná znovu pokaždé, když deska Wake-on-shake vypne a znovu zapne napájení, takže počáteční pozice sekvence určená osivem je zásadní. Abych tomu pomohl, napíšu velmi malý soubor na kartu SD, abych sledoval poslední semeno, a přidám to k nové hodnotě pocházející z nepřipojeného pinu.

Jakmile je ve funkci smyčky vybrán výběr a načten do pole znaků, nemůžeme jen vytisknout celý řetězec. Displej má limit, jak dlouhý řetězec může najednou zpracovat. Z tohoto důvodu musíme prokličkovat každý z patnácti řádků a poslat je postupně na displej.

Požadované externí knihovny:

Knihovna ST7687S

Knihovna DFRobot-Display

Krok 5: Zapojte součásti

Zapojte součásti
Zapojte součásti
Zapojte součásti
Zapojte součásti

Čas na veškeré pájení vodičů. Měl jsem tendenci chybovat na straně mírně delších vodičů, než jsem opravdu potřeboval, ale nakonec to dobře dopadlo.

V přiloženém schématu je TFT displej reprezentován spíše konektorem než obrázkem celého displeje (pro který jsem nenašel Fritzingovu část). Označil jsem dráty/kolíky podle toho, jak jsou na dílu označeny. Podobně karta SD není přesně ta, kterou jsem použil, ale označil jsem vodiče/kolíky pro uvedenou část.

V tomto kroku jsem nepájel dohromady: baterii. Místo toho jsem použil čtyřpinový konektor s odstraněnými dvěma středními piny (druhý obrázek). To mi umožnilo vyzkoušet všechny součásti zapojené dohromady a poté odpojit baterii, zatímco jsem připojil vše k míči.

Nakonec jsem použil čtvrtinovou desku plošného spoje, abych usnadnil napájení a sdílené připojení. Uvidíte to na obrázcích sestavy.

Vyzkoušejte, zda vše funguje

Krok 6: Připojte součásti k míči

Připojte součásti k míči
Připojte součásti k míči
Připojte součásti k míči
Připojte součásti k míči
Připojte součásti k míči
Připojte součásti k míči
Připojte součásti k míči
Připojte součásti k míči

Nejprve vložte displej na místo a pomocí jistého Sugru jej zajistěte (první dva obrázky). Nezapomeňte na přírubu, kterou jste dříve odstranili, než ji zajistíte na místě, měli byste ji vrátit na místo.

Dále jsem nalepil proto-prkno na dno prázdné poloviny míče. Všechny své pájky jsem nechal na jedné straně desky, takže jsem měl stále polovinu desky, na kterou jsem mohl přelepit. Poté jsem nalepil baterii na stejnou polovinu proto-desky (třetí obrázek).

Obě poloviny jsou nyní spojeny dráty. Zjistěte, kde skončí otvor USB, když dáte obě poloviny dohromady. Pokud má bílý ret trny trčící nahoru, mějte na paměti, že musí sestoupit do středu jednoho z klínů bílého rtu, protože zajistíme nabíjecí desku USB mezi dvěma plastovými hřebeny na rtu.

Pomocí malého kousku oboustranné pěnové pásky připojte nabíjecí desku USB. Oboustranná páska by neměla pokrývat celé dno nabíjecí desky, protože konec s připojenými dráty bude viset přes středový okraj bílého okraje. Páska by tedy měla pokrývat asi tři čtvrtiny spodního povrchu desky. Nejprve položte pásku na spodní část desky a poté ji zatlačte na místo, pro které jste se rozhodli. Konektor USB by měl být na okraji koule a měl by se držet v černé oblasti plastu, aniž by vycházel mimo míč. Nakonec použijte ještě více Sugru na horní část desky a zajistěte na obou stranách. To jen přidává další sílu, když je kabel zasunut do portu USB.

Nyní vložte kartu micro-SD do modulu karty SD

Pokud chcete, můžete ostatní součásti připevnit k bílému rtu. Zbývající komponenty jsem jen zastrčil za displej.

Krok 7: Spojte obě poloviny dohromady

Dejte dvě poloviny dohromady
Dejte dvě poloviny dohromady
Dejte dvě poloviny dohromady
Dejte dvě poloviny dohromady

Znovu zkontrolujte, zda jste vložili kartu SD a že jste otestovali všechny součásti dohromady.

Dobře, pokud jste připraveni, vytvořte dlouhého hada z nějakého lepidla Sugru a bílým rtem jej přejeďte po celém okraji poloviny koule (první obrázek). Lepidlo by mělo být položeno přímo na křižovatku, kde se spojují černé a bílé části plastu. Umístěním lepidla sem zajistíte silné spojení a zároveň minimalizujete množství lepidla, které se po spojení obou polovin vytlačí z trhliny.

Stiskněte obě poloviny k sobě a ujistěte se, že port USB prochází otvorem, který byl dříve vyříznut. Pomocí nábytkové příchytky sevřete obě poloviny k sobě tak těsně, aby byly poloviny pohromadě, není třeba jej příliš upínat. Lepidlo Sugru ztvrdne přibližně za 24 hodin.

Pokud máte nějaké lepidlo, které se vytlačilo ze spoje, klidně jej seškrábněte prstem nebo hladkým hadříkem/papírovým ručníkem.

Doporučuje: