Sadržaj:

Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom: 7 koraka
Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom: 7 koraka

Video: Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom: 7 koraka

Video: Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom: 7 koraka
Video: Дэвид МакКэндлесс: Красота визуализации данных 2024, Studeni
Anonim
Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom
Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom
Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom
Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom
Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom
Lopta za čarobne odgovore s Arduino Pro Mini i TFT zaslonom

Neko vrijeme unatrag, moja kći i ja smo odvojile kuglu Magic 8 kako bi mogla zamijeniti dvadeset odgovora onima koje je sama odabrala. Ovo je bio poklon za njenu prijateljicu. To me potaknulo na razmišljanje kako to učiniti u većem opsegu. Možemo li imati puno više od 20 odgovora? S elektroničkom verzijom možemo!

Dakle, ovo će opisati kako sam rastavio Mattel Magic 8 Ball (oprostite, Mattel) i upotrijebio okrugli TFT zaslon za prikaz nevjerojatnog broja dodatnih odgovora (najmanja micro-SD kartica koju sam mogao pronaći bila je 8 GB, pa je stvarno pretjerano za za što se koristi). Lopta koristi Sparkfun Wake-on-shake ploču za aktiviranje odgovora i za isključivanje loptice nakon toga radi očuvanja baterije. Ploča za punjenje služi za dopunjavanje baterije putem USB veze.

Pribor

Dijelovi:

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

SparkFun Wake on Shake

Litij -ionska baterija - 400 mAh

Organizator 12 kom. TP4056 Modul za punjenje 5V Micro USB 1A 18650 Litijeva baterija za punjenje s modulom za zaštitu punjača (potreban vam je samo jedan od ovih, ali paket od 12 je bio manji od 9 USD)

DAOKI 5 kom Micro SD ploča za pohranu (opet vam treba samo jedna, ali je pakiranje od 5 ipak bilo manje od 9 USD)

DFRobot 2,2 inčni TFT LCD zaslon

Kingston 8 GB microSD (možda imate staru od ovih koja vam leži po kući)

Perma-Proto četvrtasta PCB pločica (možete koristiti i bilo koju tiskanu pločicu koja vam se sviđa)

Magična 8 lopta

FTDI Basic proboj 3.3V (možda ste već imali jedan od ovih ako ste radili sličan projekt s Arduino Pro Mini ili sličnom pločom)

4 -pinsko kućište s 2,54 mm JST XH muškim/ženskim zatičem Pin Dupont Konektor za žicu (nije obavezno, ali se preporučuje za spajanje baterije)

Ostale osnovne potrepštine:

Ljepilo Sugru za oblikovanje (moglo bi se koristiti ljepljiva traka i vruće ljepilo, ali ovo mi se više sviđa)

Ljepljiva traka

Dvostrana pjenasta traka

Žica

Alati:

Lemilica

Rotacijski alat po vašem izboru (npr. Dremel)

Stezaljka za namještaj

Korak 1: Prerežite čarobnu kuglu 8 na pola

Prerežite čarobnu kuglu 8 na pola
Prerežite čarobnu kuglu 8 na pola
Prerežite čarobnu kuglu 8 na pola
Prerežite čarobnu kuglu 8 na pola

Prvo ćete morati podijeliti Magic 8 Ball na pola. Ja sam svoj pričvrstio stezaljkom za namještaj na radni stol s ravnom stranom prema dolje. Pomoću Dremela s pričvršćenim osnovnim reznim diskom izrežite uz šav kugle. Morat ćete duboko rezati, koliko god to rezni disk dopušta. Uspori. Čak i nakon što ste prerezali do kraja, možda ćete morati upotrijebiti odvijač s ravnom glavom ili dlijeto za konačno odvajanje. Postoji cilindar koji u sebi drži "čarobnu" tekućinu i ikosaedar (dvadesetostrani oblik - da, morao sam to pogledati gore). Samo bacite to ili ga upotrijebite u nekom drugom projektu. Ako ga ipak upotrijebite u nekom drugom projektu, javite mi što ste učinili pa ću znati što učiniti sa svojim.

Ostat će vam dvije polovice kao što je prikazano na slikama. To sam učinio već tri puta i posljednji put, bijela usna je bila glatka, a ne imala grebene, pa vam lopta može izgledati malo drugačije od one na slici.

Oko vanjskog ruba (otopljena i očvrsnuta plastika) i dalje će biti neke plastične troske. Kočite to rukama, ako možete; upotrebom alata prijeti opasnost da se lopta ošteti i troska se prilično lako odlijepi.

Korak 2: Pripremite loptu

Pripremite loptu
Pripremite loptu
Pripremite loptu
Pripremite loptu
Pripremite loptu
Pripremite loptu

Postoje dvije izmjene koje ćemo morati napraviti na plastičnim polovicama lopte.

Prvo, na otvorenoj polovici, onoj na kojoj je naslikana "8", trebat ćemo obrijati područje dovoljno veliko da naša USB ploča za punjenje sjedne s USB priključkom koji viri. Koristio sam svoj Dremel s pričvršćenim bubnjem za grubo brušenje. Želite da ovo bude što tanje, a da pritom niste čisti. Zatim izrežite mali otvor tek toliko velik da USB priključak može probiti van. Koristio sam čeljust za mjerenje USB priključka, ali vjerojatno biste mogli ovo pogledati ako trebate. Opet sam za otvaranje upotrijebio Dremel s malim nastavkom za rezanje. Prve dvije slike prikazuju otvor i kako to izgleda s USB pločom iza njega.

Drugo, u drugoj polovici, onoj s rupom na obje strane i bijelom plastičnom ivicom, pripremite mjesto za sjedenje zaslona. Neposredno unutar otvora u kojem će se nalaziti zaslon nalaze se plastični rubovi i gumena (?) Prirubnica s unutarnje strane otvora. Izvadite prirubnicu i ostavite je sa strane. To ćemo vratiti kasnije, ali želimo da se to ukloni s ovog koraka. Zaslon s jedne strane ima pravokutno istiskivanje koje mu neće dopustiti da sjedi ravno u otvoru ako se neki od ovih grebena ne uklone. Ponovno obrišite bubanj za grubo brušenje na Dremelu. Uđite iz rupe u kojoj će biti zaslon za najbolji kut. Kad bude dovršena, trebala bi izgledati kao slike. Imajte na umu da slike prikazuju zaslon na mjestu, ali ga još NE PRILIKAJTE.

Korak 3: Pripremite odgovore na Micro-SD kartici

Ovaj korak je malo složeniji nego što mislite. Ako ne želite stvoriti vlastiti popis odgovora, prijeđite na posljednji odlomak ovog koraka.

Namjera je da lopti možemo dati bilo koji popis nizova koji će se koristiti kao moguće odgovore i oni će biti centrirani na ekranu bez ikakvih pauza u sredini riječi. Ne želimo raditi ovu obradu na mikrokontroleru i želimo datoteku sa statičkom veličinom zapisa kako bismo mogli brzo pronaći bilo koju određenu liniju.

Iako je zaslon okrugao, funkcionalno je virtualni pravokutni zaslon sa vidljivim samo pikselima unutar kruga. Zaslon može prikazati tekst više veličina, ali koristimo samo najmanju verziju od 6 x 8 piksela. Koristeći ovu veličinu, postoji 315 znakova koje zaslon može staviti na zaslon (21 znak po retku puta 15 redaka), ali samo 221 je vidljivo i svaki redak ima različit broj vidljivih znakova. Vidite problem?

Napisao sam Java program kako bih uzeo datoteku neformatiranih odgovora i pretvorio ih u potpuno centrirane zapise koji se mogu lako prikazati na okruglom TFT -u. (veza za preuzimanje datoteke "FormatToPicksFileFullyCentered.java").

Bez ulaženja u objašnjenje cijelog koda, opća je ideja da se vraćamo unatrag od središta (ish) i unosimo razmake kako bismo bili sigurni da ne lomimo riječi preko vidljivih redaka, a zatim isto radimo iz centarfor. Konačno, prolazimo kroz sve retke i centriramo svaki redak unutar punih 21 redaka znakova kako bismo stvorili zapis od točno 316 bajtova (315 alfanumeričkih znakova plus znak novog retka). Kod zapravo funkcionira kroz tri fonta, x 3, x 2 i x 1 kako bi se vidio koji je najveći font koji se može koristiti i još uvijek pristajati uz tekst. Centriranje je malo isključeno za fontove x 2 i x 3, oprostite. Budite oprezni sa znakovima koji zauzimaju više od jednog bajta jer mogu odbaciti izlaznu datoteku.

Kopirajte datoteku "picks.txt" na mikro-SD karticu.

Ako ne želite imati problema s stvaranjem vlastitog popisa odabira, uključio sam svoj popis odabira koje možete jednostavno kopirati na SD karticu i koristiti. U ovom trenutku nisam mogao učitati.txt datoteku u instruktore pa evo veze kamo možete preuzeti datoteku picks.txt.

Korak 4: Prenesite kôd na Arduino Mini

Učitajte kôd na Arduino Mini
Učitajte kôd na Arduino Mini
Učitajte kôd na Arduino Mini
Učitajte kôd na Arduino Mini
Učitajte kôd na Arduino Mini
Učitajte kôd na Arduino Mini

Prije svega, ako nikada prije niste koristili Arduino Pro Mini, ne možete samo priključiti USB kabel i preuzeti; morate koristiti FTDI ploču i spojiti žice na odgovarajuće pinove na mini. Ovdje neću davati upute o tome, ima ih dosta na webu. Što se mene tiče, nisam htio lemiti stalni konektor na ploču mikrokontrolera koji bi se koristio samo jednom za preuzimanje koda, pa sam stvorio mali isječak koji se može koristiti za programiranje mini bez lemljenja (vidi slike). To je bilo inspirirano proizvodima poput Fiddyja, ali nemam jednostavan pristup 3D pisaču, pa sam napravio svoj od isječka za krumpir. Ako su ljudi zainteresirani, napravit ću instrukcije samo za to.

Prijeđite na kod. Ovaj kôd ima nekoliko zanimljivih dijelova, ali uglavnom je to naprijed.

U funkciji postavljanja postoji pristojna količina koda koja se bavi dobivanjem dobrog nasumičnog sjemena. Tipična metoda korištenja analognog očitanja s nepovezanog pina prema mom iskustvu ne daje dovoljno raznolik odgovor. Dobio sam broj između 477 i 482. Budući da Arduino slučajna funkcija ima jedan i samo jedan niz, a sjeme određuje odakle će početi u tom nizu, tako uski raspon neće na kraju proizvesti dovoljno mogućih odgovora. Imajte na umu da se ovaj kôd u osnovi pokreće svaki put kada ploča za buđenje pri tresenju isključi i ponovno uključi napajanje, pa je početni položaj slijeda koji određuje sjeme ključan. Da bih vam pomogao u tome, zapisujem vrlo malu datoteku na SD karticu kako bih pratio posljednje sjeme i dodao to novoj vrijednosti koja dolazi iz nepovezanog pina.

Nakon što je odabir odabran u funkciji petlje i pročitan u niz znakova, ne možemo samo ispisati cijeli niz. Zaslon ima ograničenje koliko duljine žice može istodobno obraditi. Iz tog razloga moramo proći kroz svaki od petnaest redaka i poslati ih na zaslon jedan po jedan.

Potrebne vanjske knjižnice:

Knjižnica ST7687S

Knjižnica DFRobot-Display

Korak 5: Povežite komponente

Povežite komponente
Povežite komponente
Povežite komponente
Povežite komponente

Vrijeme je za sve lemljenje žica. Sklonio sam se griješiti sa strane nešto dužih žica nego što mi je stvarno trebalo, ali to je na kraju uspjelo.

U priloženoj shemi, TFT zaslon predstavljen je konektorom, a ne slikom cijelog zaslona (za koji nisam mogao pronaći dio Fritzing). Označio sam žice/igle na temelju načina na koji su označeni na dijelu. Slično, SD kartica nije točno ona koju sam koristio, ali sam označio žice/pinove za navedeni dio.

Postoji jedna komponenta koju u ovom koraku nisam lemio zajedno: baterija. Umjesto toga, koristio sam četveroiglični konektor sa uklonjena dva srednja pina (druga slika). Ovo mi je omogućilo da testiram sve komponente povezane zajedno, a zatim odspojim bateriju dok sam sve pričvrstio za loptu.

Konačno, upotrijebio sam stalnu matičnu ploču veličine četvrtine kako bih olakšao napajanje i zajedničke veze. To ćete vidjeti na slikama montaže.

Testirajte da li sve radi

Korak 6: Pričvrstite komponente na kuglu

Pričvrstite komponente na loptu
Pričvrstite komponente na loptu
Pričvrstite komponente na loptu
Pričvrstite komponente na loptu
Pričvrstite komponente na loptu
Pričvrstite komponente na loptu
Pričvrstite komponente na loptu
Pričvrstite komponente na loptu

Prvo postavite zaslon na mjesto i upotrijebite Sugru da ga učvrstite (prve dvije slike). Ne zaboravite na prirubnicu koju ste ranije uklonili, trebali biste je vratiti na mjesto prije pričvršćivanja zaslona.

Zatim sam proto ploču zalijepio na dno prazne polovice loptice. Sve sam lemilice držao s jedne strane ploče pa sam još imao polovicu ploče koju sam mogao zalijepiti. Zatim sam zalijepio bateriju na tu istu polovicu proto-ploče (treća slika).

Obje polovice sada su spojene žicama. Otkrijte gdje će završiti USB otvor kada spojite dvije polovice. Ako na bijeloj usni bodlje strše, imajte na umu da se mora spustiti centrirano u jedan od klinova bijele usne jer ćemo pričvrstiti USB ploču za punjenje između dva plastična ruba na usni.

Pomoću malog komada dvostrane pjenaste trake pričvrstite USB ploču za punjenje. Dvostrana traka ne smije pokriti cijelo dno ploče za punjenje jer će kraj s pričvršćenim žicama visjeti preko središnjeg ruba bijelog ruba. Dakle, traka bi trebala pokriti oko tri četvrtine donje površine ploče. Prvo stavite traku na dno ploče, a zatim je pritisnite na mjesto za koje ste se odlučili. USB priključak trebao bi biti na rubu loptice, zalijepiti se u crno područje plastike, a da ne izlazi iz kugle. Na kraju, upotrijebite još Sugru preko vrha ploče i pričvrstite s obje strane. Ovo samo dodaje dodatnu snagu kada se kabel gurne u USB priključak.

Odmah umetnite mikro-SD karticu u modul SD kartice

Ostale komponente možete pričvrstiti na bijelu usnu ako želite. Preostale komponente sam upravo ugurao iza zaslona.

Korak 7: Ponovo spojite dvije polovice

Ponovo spojite dvije polovice
Ponovo spojite dvije polovice
Ponovo spojite dvije polovice
Ponovo spojite dvije polovice

Dvaput provjerite jeste li umetnuli SD karticu i jeste li zajedno testirali sve komponente.

U redu, ako ste spremni, napravite dugačku zmiju od nekog Sugru ljepila i provucite je skroz oko ruba polovice loptice s bijelom usnom (prva slika). Ljepilo treba položiti točno na spoj gdje se crno -bijeli dijelovi plastike spajaju. Stavljanjem ljepila ovdje osiguravate snažnu vezu, a minimizirate količinu ljepila koje se istisne iz pukotine nakon spajanja dviju polovica.

Pritisnite dvije polovice zajedno pazeći da USB priključak provuče kroz prethodno izrezanu rupu za njega. Koristeći stezaljku za namještaj, spojite dvije polovice dovoljno čvrsto da polovice ostanu zajedno, nema potrebe da je čvrsto stežete. Ljepilo Sugru će se stvrdnuti za oko 24 sata.

Ako imate dio ljepila koje se istisnulo iz fuge, slobodno ga ostružite prstom ili glatkom krpom/papirnatim ubrusom.

Preporučeni: