Obsah:

Lopta Magic Answers s Arduino Pro Mini a TFT displejom: 7 krokov
Lopta Magic Answers s Arduino Pro Mini a TFT displejom: 7 krokov

Video: Lopta Magic Answers s Arduino Pro Mini a TFT displejom: 7 krokov

Video: Lopta Magic Answers s Arduino Pro Mini a TFT displejom: 7 krokov
Video: Настройка 3D-принтера с помощью MKS sGen L v1.0 Часть 3 2024, Júl
Anonim
Lopta Magic Answers s displejom Arduino Pro Mini a TFT
Lopta Magic Answers s displejom Arduino Pro Mini a TFT
Lopta Magic Answers s displejom Arduino Pro Mini a TFT
Lopta Magic Answers s displejom Arduino Pro Mini a TFT
Lopta Magic Answers s displejom Arduino Pro Mini a TFT
Lopta Magic Answers s displejom Arduino Pro Mini a TFT

Pred nejakou dobou sme s dcérou rozobrali loptu Magic 8, aby mohla nahradiť dvadsať reakcií reakciami, ktoré si vybrala. Bol to darček pre jej priateľa. To ma prinútilo premýšľať o tom, ako to urobiť vo väčšom meradle. Mohli by sme mať oveľa viac ako 20 odpovedí? S elektronickou verziou môžeme!

Toto teda bude popisovať, ako som rozobral Mattel Magic 8 Ball (prepáčte, Mattel) a pomocou okrúhleho TFT displeja zobrazil neskutočné množstvo ďalších reakcií (najmenšia karta micro-SD, akú som našiel, mala 8 GB, takže je skutočne nadbytočná pre na čo sa používa). Lopta používa dosku Sparkfun Wake-on-shake na spustenie reakcie a následné vypnutie lopty, aby sa šetrila batéria. Nabíjacia doska slúži na nabíjanie batérie z USB pripojenia.

Zásoby

Diely:

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

SparkFun Wake on Shake

Lítium -iónová batéria - 400 mAh

Organizér 12ks nabíjací modul TP4056 5V Micro USB 1A 18650 nabíjacia lítiová batéria s ochranným nabíjacím modulom (potrebujete iba jeden z nich, ale balenie 12 bolo za menej ako 9 dolárov)

Úložná doska DAOKI 5 ks Micro SD (opäť potrebujete iba jednu, ale balenie 5 bolo stále menej ako 9 dolárov)

DFRobot 2,2 palcový TFT LCD displejový modul

Kingston 8 GB microSD (možno máte doma položený starý)

Doska plošných spojov štvrťročnej veľkosti Perma-Proto (môžete tiež použiť ľubovoľnú dosku plošných spojov, ktorá sa vám páči)

Magic 8 Ball

FTDI Basic breakout 3,3 V (jeden z nich už môžete mať, ak ste urobili podobný projekt s doskou Arduino Pro Mini alebo podobnou)

4 -kolíkové puzdro so súpravou káblových konektorov Dupont 2,54 mm JST XH samec/samica (voliteľné, ale odporúča sa na pripojenie batérie)

Ďalšie základné zásoby:

Tvarovateľné lepidlo Sugru (môže sa použiť lepiaca páska a horúce lepidlo, ale toto sa mi páči viac)

Lepiaca páska

Obojstranná penová páska

Drôt

Náradie:

Spájkovačka

Rotačný nástroj podľa vášho výberu (napr. Dremel)

Svorka na nábytok

Krok 1: Nakrájajte loptu Magic 8 na polovicu

Nakrájajte loptu Magic 8 na polovicu
Nakrájajte loptu Magic 8 na polovicu
Skráťte loptu Magic 8 na polovicu
Skráťte loptu Magic 8 na polovicu

Najprv budete musieť rozdeliť Magic 8 Ball na polovicu. Ten svoj som pripevnil na pracovný stôl plochou stranou nadol pomocou nábytkovej svorky. Pomocou Dremelu s pripevneným základným rezacím kotúčom rozrežte šev lopty. Budete musieť rezať hlboko, pokiaľ to rezný kotúč umožní. Spomaľ. Aj keď ste prerezali celú cestu, možno budete musieť na konečné oddelenie použiť plochý skrutkovač alebo dláto. Vnútri je valec, ktorý drží „magickú“kvapalinu a icosahedron (dvadsaťstranný tvar - áno, musel som sa na to pozrieť). Stačí to zahodiť alebo použiť v inom projekte. Ak ho použijete v inom projekte, dajte mi vedieť, čo ste urobili, aby som vedel, čo mám urobiť s mojím.

Zostanú vám dve polovice, ako je znázornené na obrázkoch. Teraz a naposledy som to urobil trikrát, biely ret bol hladký, a nie s hrebeňmi, takže vaša guľa môže vyzerať trochu inak ako na obrázku.

Okolo vonkajšieho okraja bude stále nejaká plastová troska (roztavený a stvrdnutý plast). Ak je to možné, zabrzdite to rukami; pri použití nástroja hrozí riziko odierania povrchovej úpravy lopty a troska sa celkom ľahko uvoľňuje.

Krok 2: Pripravte si loptu

Pripravte si loptu
Pripravte si loptu
Pripravte si loptu
Pripravte si loptu
Pripravte si loptu
Pripravte si loptu

Na plastových poloviciach lopty budeme musieť vykonať dve úpravy.

Po prvé, v otvorenej polovici, na ktorej je namaľovaných „8“, budeme musieť oholiť dostatočne veľkú plochu, aby mohla naša nabíjacia doska USB sedieť s vyčnievajúcim portom USB. Použil som svoj Dremel s pripevneným hrubým brúsnym bubnom. Chcete, aby bol taký tenký, ako môžete dosiahnuť, bez toho, aby ste museli čistiť. Potom vyrežte malý otvor, ktorý je dostatočne veľký, aby umožnil portu USB prepichnúť von. Na meranie portu USB som použil posuvné meradlo, ale ak je to potrebné, pravdepodobne by ste si mohli pozrieť. Na otvorenie som opäť použil Dremel s malým rezacím nástavcom. Prvé dva obrázky ukazujú otvor a ako to vyzerá s doskou USB za ním.

Za druhé, v druhej polovici, tá s dierou na OBOCH stranách a bielym plastovým okrajom, pripraví miesto na sedenie. Hneď vo vnútri otvoru, kde bude sedieť displej, sú plastové hrebene a gumová (?) Príruba na vnútornej strane otvoru. Vyberte prírubu a odložte ju. Neskôr to vrátime, ale v tomto kroku to chceme urobiť bokom. Displej má na jednej strane pravouhlé vytláčanie, ktoré mu nedovolí sedieť naplocho v otvore, ak nie sú odstránené niektoré z týchto hrebeňov. Opäť pomocou hrubého brúsneho bubna na Dremel tieto holte čo najviac. Vstúpte z otvoru, kde bude mať displej najlepší uhol. Po dokončení by mal vyzerať ako na obrázkoch. Všimnite si toho, že obrázky zobrazujú displej na svojom mieste, ale zatiaľ ho NEPRIPOJUJTE.

Krok 3: Pripravte si odpovede na kartu Micro-SD

Tento krok je trochu komplikovanejší, ako by ste si mohli myslieť. Ak si nechcete vytvárať vlastný zoznam odpovedí, preskočte na posledný odsek tohto kroku.

Zámerom je, aby sme mohli loptičke poskytnúť akýkoľvek zoznam reťazcov, ktoré sa majú použiť ako možné reakcie, a budú vycentrované na obrazovku bez prestávok uprostred slov. Nechceme toto spracovanie vykonávať na mikrokontroléri a chceme súbor so statickou veľkosťou záznamu, aby sme mohli rýchlo nájsť konkrétny riadok.

Aj keď je displej okrúhly, funkčne ide o virtuálny obdĺžnikový displej, v ktorom sú viditeľné iba pixely v kruhu. Displej môže zobrazovať text viacerých veľkostí, ale používame iba najmenšiu verziu, ktorá má 6 x 8 pixelov. Pri použití tejto veľkosti je možné na obrazovku umiestniť 315 znakov (21 znakov na riadok krát 15 riadkov), ale iba 221 znakov je viditeľných a každý riadok má iný počet viditeľných znakov. Vidíte problém?

Napísal som program Java, aby prevzal súbor neformátovaných odpovedí a konvertoval ich na plne centrované záznamy, ktoré sa dajú ľahko zobraziť na okrúhlom TFT. (odkaz na stiahnutie súboru „FormatToPicksFileFullyCentered.java“).

Bez toho, aby sme sa dostali k vysvetleniu celého kódu, je všeobecnou myšlienkou, že sa vrátime od stredu (ish) a vložíme medzery, aby sme zaistili, že nerozbijeme slová cez viditeľné riadky a potom urobíme to isté z stred dopredu. Nakoniec prevlečieme všetky riadky a vycentrujeme každý riadok v rámci celých 21 znakov, aby sme vytvorili záznam presne 316 bajtov (315 alfanumerických znakov plus znak nového riadka). Kód v skutočnosti funguje prostredníctvom troch písem, x 3, x 2 a x 1, aby zistil, ktoré je najväčšie písmo, ktoré je možné použiť, a napriek tomu sa zmestí do textu. Stredenie je pri písmach x 2 a x 3 trochu mimo, ospravedlňujeme sa. Dávajte si pozor na znaky, ktoré zaberajú viac ako jeden bajt, môžu vyhodiť výstupný súbor.

Skopírujte súbor „picks.txt“na kartu micro-SD.

Ak nechcete mať problémy s vytváraním vlastného zoznamu tipov, zaradil som svoj zoznam tipov, ktoré môžete jednoducho skopírovať na kartu SD a použiť. V súčasnosti nemôžem nahrať súbor.txt do súboru instructables, takže tu je odkaz, kde si môžete stiahnuť súbor 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

Po prvé, ak ste nikdy predtým nepoužívali Arduino Pro Mini, nemôžete jednoducho pripojiť kábel USB a sťahovať; musíte použiť dosku FTDI a pripojiť vodiče k príslušným kolíkom na mini. Nebudem tu dávať návod, na internete je toho veľa. Pre mňa sa mi nechcelo spájať trvalý konektor na dosku mikrokontroléra, ktorý sa použije iba raz na stiahnutie kódu, a tak som vytvoril malý klip, ktorý je možné použiť na programovanie mini bez spájkovania (pozri obrázky). Inšpirovalo sa to výrobkami ako Fiddy, ale nemám ľahký prístup k 3D tlačiarni, a tak som si vyrobil svoj vlastný zo sponky na zemiaky. Ak to ľudí zaujíma, urobím návod len na to.

Ešte ku kódu. Tento kód obsahuje niekoľko zaujímavých častí, ale väčšinou ide priamo dopredu.

Vo funkcii nastavenia existuje slušné množstvo kódu, ktorý sa zaoberá získaním dobrého náhodného semena. Typický spôsob použitia analógového čítania z nepripojeného kolíka neposkytuje podľa mojich skúseností dostatočne pestrú odozvu. Dostanem číslo medzi 477 a 482. Pretože náhodná funkcia Arduino má jednu a iba jednu sekvenciu a jadro určuje, kde v tejto sekvencii začať, taký úzky rozsah nakoniec nevytvorí dostatok možných odpovedí. Majte na pamäti, že tento kód sa v zásade začína vždy, keď doska Wake-on-shake vypne a znova zapne napájanie, takže počiatočná poloha sekvencie určená osivom je rozhodujúca. Aby som tomu pomohol, napíšem na kartu SD veľmi malý súbor, aby som sledoval posledné semeno, a pridal ho k novej hodnote pochádzajúcej z nepripojeného kolíka.

Keď je vo funkcii slučky vybratý výber a načítaný do poľa znakov, nemôžeme vytlačiť celý reťazec. Displej má obmedzenie dĺžky reťazca, ktorý môže naraz zvládnuť. Z tohto dôvodu musíme previesť každý z pätnástich riadkov a odoslať ich postupne na displej.

Požadované externé knižnice:

Knižnica ST7687S

Knižnica DFRobot-Display

Krok 5: Zapojte komponenty

Zapojte komponenty
Zapojte komponenty
Zapojte komponenty
Zapojte komponenty

Čas na všetky spájkovanie drôtov. Mal som tendenciu mýliť sa na strane o niečo dlhších drôtov, ako som skutočne potreboval, ale nakoniec to dopadlo dobre.

V priloženej schéme je TFT displej reprezentovaný skôr konektorom ako obrázkom celého displeja (pre ktorý som nenašiel Fritzingovu časť). Označil som vodiče/kolíky podľa toho, ako sú na časti označené. Podobne karta SD nie je presná, akú som použil, ale označil som káble/kolíky pre uvedenú časť.

V tomto kroku je jedna súčasť, ktorú som nespájal: batéria. Namiesto toho som použil štvorpinový konektor s odstránenými dvoma strednými kolíkmi (druhý obrázok). To mi umožnilo otestovať všetky súčiastky zapojené dohromady a potom odpojiť batériu, kým som všetko pripevnil k lopte.

Nakoniec som použil štvrťročnú permanentnú dosku plošného spoja, aby som zjednodušil napájanie a zdieľané pripojenia. Uvidíte to na montážnych obrázkoch.

Vyskúšajte, či všetko funguje

Krok 6: Pripojte komponenty k lopte

Pripojte komponenty k lopte
Pripojte komponenty k lopte
Pripojte komponenty k lopte
Pripojte komponenty k lopte
Pripojte komponenty k lopte
Pripojte komponenty k lopte
Pripojte komponenty k lopte
Pripojte komponenty k lopte

Najprv umiestnite displej na miesto a pomocou istého Sugru ho zaistite (prvé dva obrázky). Nezabudnite na prírubu, ktorú ste predtým odstránili, predtým, ako zaistíte displej na mieste, by ste ho mali mať na svojom mieste.

Ďalej som proto-dosku zalepil páskou do spodnej časti prázdnej polovice lopty. Všetky svoje spájky som držal na jednej strane dosky, takže som mal stále polovicu dosky, na ktorú som mohol nalepiť pásku. Potom som batériu prilepil páskou na tú istú polovicu proto-dosky (tretí obrázok).

Obe polovice sú teraz spojené drôtmi. Zistite, kde skončí otvor USB, keď spojíte obe polovice. Ak má biely okraj ostne vyčnievajúce, majte na pamäti, že musí zostúpiť dole v strede jedného z klinov bieleho pera, pretože zaistíme nabíjaciu dosku USB medzi dvoma plastovými hrebeňmi na okraji.

Pomocou malého kúska obojstrannej penovej pásky pripevnite nabíjaciu dosku USB. Obojstranná páska by nemala pokrývať celú spodnú časť nabíjacej dosky, pretože koniec s pripojenými vodičmi bude visieť nad stredovým okrajom bieleho pera. Páska by teda mala pokrývať asi tri štvrtiny spodného povrchu dosky. Pásku najskôr položte na spodok dosky a potom ju zatlačte na miesto, pre ktoré ste sa rozhodli. Konektor USB by mal byť na okraji lopty a mal by sa držať v čiernej oblasti plastu bez toho, aby vychádzal von z lopty. Nakoniec naneste trochu cukru na vrch dosky a zaistite na oboch stranách. To len zvyšuje pevnosť v prípade, keď je kábel zasunutý do portu USB.

Teraz vložte kartu micro-SD do modulu karty SD

Ostatné komponenty môžete podľa potreby zaistiť k bielemu peru. Zostávajúce komponenty som len zastrčil za displej.

Krok 7: Spojte dve polovice dohromady

Spojte dve polovice
Spojte dve polovice
Spojte dve polovice
Spojte dve polovice

Znovu skontrolujte, či ste vložili kartu SD a či ste otestovali všetky súčasti dohromady.

Ok, ak ste pripravení, urobte dlhého hada z nejakého lepidla Sugru a prejdite ním po celom okraji polovice gule s bielou perou (prvý obrázok). Lepidlo by malo byť nanesené priamo na križovatku, kde sa spájajú čiernobiele časti plastu. Vložením lepidla sem zaistíte pevné spojenie a zároveň minimalizujete množstvo lepidla, ktoré sa vytlačí z trhliny po spojení oboch polovíc.

Pritlačte obe polovice k sebe a uistite sa, že port USB prechádza cez predtým vyrezaný otvor. Pomocou nábytkovej svorky zovrite dve polovice k sebe tak tesne, aby boli polovice pokope, nie je potrebné ich zvierať. Lepidlo Sugru stvrdne asi za 24 hodín.

Ak máte trochu lepidla, ktoré sa vytlačilo zo spoja, pokojne ho zoškrabte prstom alebo hladkou handričkou/papierovou utierkou.

Odporúča: