Sisukord:

Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga: 7 sammu
Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga: 7 sammu

Video: Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga: 7 sammu

Video: Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga: 7 sammu
Video: Ohms Law Explained - The basics circuit theory 2024, Juuli
Anonim
Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga
Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga
Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga
Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga
Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga
Maagiliste vastuste pall Arduino Pro Mini ja TFT -ekraaniga

Mõni aeg tagasi võtsime tütrega Magic 8 palli lahti, et ta saaks asendada kakskümmend vastust enda valitud vastustega. See oli kingitus tema sõbrale. See pani mind mõtlema, kuidas seda laiemalt teha. Kas meil on palju rohkem kui 20 vastust? Elektroonilise versiooniga saame!

Nii kirjeldab see, kuidas ma Mattel Magic 8 palli (vabandust, Mattel) lahti võtsin ja kasutasin ümmargust TFT-ekraani, et näidata uskumatult palju täiendavaid vastuseid (väikseim leitud microSD-kaart oli 8 GB, seega on see tõesti üleliigne) milleks seda kasutatakse). Pall kasutab reaktsiooni käivitamiseks Sparkfun Wake-on-shake plaati ja lülitab palli aku säästmiseks välja. Laadimisplaati kasutatakse aku USB -ühendusest laadimiseks.

Tarvikud

Osad:

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

SparkFun Wake on Shake

Liitiumioonaku - 400 mAh

Korraldaja 12tk TP4056 laadimismoodul 5V Micro USB 1A 18650 liitiumaku laadimisplaat koos kaitsva laadimismooduliga (vajate ainult ühte neist, kuid 12 pakki oli alla 9 dollari)

DAOKI 5 tk Micro SD salvestuslaud (jällegi vajate ainult ühte, kuid 5 pakki oli ikkagi vähem kui 9 dollarit)

DFRobot 2,2 -tolline TFT LCD -ekraanimoodul

Kingstoni 8 GB microSD -kaart (võib -olla on teie kodus üks vana neist)

Perma-Proto veerandi suurused leivaplaadi trükkplaadid (saate kasutada ka mis tahes PCB-d, mis teile meeldivad)

Magic 8 pall

FTDI Basic Breakout 3.3V (teil võib olla juba üks neist, kui olete teinud sarnase projekti Arduino Pro Mini või sarnase plaadiga)

4 -kontaktiline korpus koos 2,54 mm JST XH isase/emase tihvtiga Dupont traadi pistikukomplektiga (valikuline, kuid soovitatav aku ühendamiseks)

Muud põhitarbed:

Sugru vormitav liim (võiks kasutada kleeplinti ja kuuma liimi, kuid mulle meeldib see paremini)

Kleeplint

Kahepoolne vahtlint

Traat

Tööriistad:

Jootekolb

Teie valitud pöörlev tööriist (st Dremel)

Mööbliklamber

Samm: lõigake Magic 8 pall pooleks

Lõika Magic 8 pall pooleks
Lõika Magic 8 pall pooleks
Lõika Magic 8 pall pooleks
Lõika Magic 8 pall pooleks

Kõigepealt peate Magic 8 palli pooleks jagama. Kinnitasin oma mööbliklambri abil lameda küljega allapoole töölaua külge. Dremeli abil, mille külge on kinnitatud põhilõikeketas, lõigake mööda palli õmblust. Peate lõikama sügavale, peaaegu nii kaugele, kui lõikeketas seda võimaldab. Võta aeglaselt. Isegi pärast täielikku lõikamist peate võib -olla lõpliku eraldamise tegemiseks kasutama lameda peaga kruvikeerajat või peitlit. Seal on silinder, mis hoiab "maagilist" vedelikku ja ikosaeedrit (kahekümnepoolne kuju - jah, ma pidin selle üles vaatama). Viska see lihtsalt minema või kasuta seda mõnes muus projektis. Kui kasutate seda mõnes teises projektis, andke mulle teada, mida tegite, et saaksin teada, mida omaga teha.

Teile jääb kaks poolt, nagu piltidel näidatud. Olen seda teinud nüüd kolm korda ja viimati oli valge huul sile, mitte harjad, nii et teie pall võib pildil olevast veidi teistsugune välja näha.

Välisserva (sulanud ja uuesti karastatud plast) ümber on veel plastikust räbu. Kui võimalik, pidurdage see kätega; tööriista kasutamisel on oht palli viimistleda ja räbu tuleb üsna kergesti maha.

Samm: valmistage pall ette

Valmistage pall ette
Valmistage pall ette
Valmistage pall ette
Valmistage pall ette
Valmistage pall ette
Valmistage pall ette

Kuuli plastikust pooltele peame tegema kaks muudatust.

Esiteks peame avatud poolel, millel on joonistatud „8”, raseerima välja piisavalt suure ala, et meie USB -laadimisplaat saaks istuda, nii et USB -port jääb välja. Kasutasin oma Dremelit, mille külge oli kinnitatud jäme lihvimistrummel. Soovite, et see oleks nii õhuke kui võimalik ilma puhastamata. Seejärel lõigake väike ava, mis on piisavalt suur, et USB -port saaks väljapoole tungida. Ma kasutasin USB -pordi mõõtmiseks nihikut, kuid vajadusel näete seda ilmselt silmamunaga. Jällegi kasutasin ava tegemiseks väikese lõikekinnitusega Dremelit. Esimesed kaks pilti näitavad avamist ja seda, kuidas see USB -plaadiga tagant välja näeb.

Teiseks, teisel poolel, mille mõlemal küljel on auk ja valge plastikust huul, valmistage ekraanile istekoht ette. Just ava sees, kus ekraan istub, on plastikust servad ja ava siseküljel kummist (?) Äärik. Võtke äärik välja ja asetage see kõrvale. Me paneme selle hiljem tagasi, kuid me tahame, et see samm ei teeks seda. Ekraanil on ühel küljel ristkülikukujuline väljapressimine, mis ei lase sellel avas tasaselt istuda, kui mõnda neist servadest ei eemaldata. Kasutades uuesti Dremeli jämedat lihvimistrumlit, raseerige neid nii palju kui võimalik. Tulge auku, kus ekraan on parima nurga all. Kui see on valmis, peaks see välja nägema nagu piltidel. Pange tähele, et piltidel on kuvar paigas, kuid ÄRGE PANGE seda veel külge.

3. samm: valmistage Micro-SD-kaardil olevad vastused ette

See samm on natuke keerulisem, kui arvate. Kui te ei soovi oma vastuste loendit luua, jätke selle sammu viimase lõigu juurde.

Eesmärk on, et me saaksime pallile anda võimalike vastustena kasutatavate stringide loendi ja need koondatakse ekraanile ilma sõnade keskele. Me ei taha seda töödelda mikrokontrolleril ja tahame staatilise kirje suurusega faili, et oleks võimalik kiiresti leida mis tahes rida.

Kuigi ekraan on ümmargune, on see funktsionaalselt virtuaalne ristkülikukujuline ekraan, mille ringis on nähtavad ainult pikslid. Ekraan võib kuvada mitmesuurust teksti, kuid me kasutame ainult väikseimat versiooni, mille suurus on 6 x 8 pikslit. Seda suurust kasutades on ekraanil võimalik kuvada 315 tähemärki (21 tähemärki rea ja 15 rea kohta), kuid nähtav on ainult 221 ja igal real on erinev arv nähtavaid märke. Näete probleemi?

Kirjutasin Java programmi, et võtta vormindamata vastuste fail ja teisendada need täielikult tsentreeritud kirjeteks, mida saab hõlpsalt ümaral TFT -l kuvada. (link faili "FormatToPicksFileFullyCentered.java" allalaadimiseks).

Kogu koodi selgitusse laskumata on üldine idee see, et töötame keskelt (ish) tagurpidi ja sisestame tühikud tagamaks, et me ei murra sõnu nähtavatest ridadest, seejärel teeme sama keskele ettepoole. Lõpuks teeme kõik read läbi ja tsentreerime iga rea 21 tähemärgi keskelt, et luua täpselt 316 baiti suurune rekord (315 tähtnumbrilist tähemärki pluss uue rea märk). Kood töötab tegelikult läbi kolme fondi, x 3, x 2 ja x 1, et näha, milline on suurim font, mida saab kasutada ja tekstile siiski sobida. Tsentreerimine on x 2 ja x 3 fontide puhul veidi väljas, vabandust. Olge ettevaatlik tähemärkide suhtes, mis võtavad rohkem kui ühe baidi, need võivad väljundfaili ära visata.

Kopeerige fail "picks.txt" mikro-SD-kaardile.

Kui te ei soovi oma valikute loendit koostada, lisasin oma valikute loendi, mille saate lihtsalt SD -kaardile kopeerida ja kasutada. Ma ei saanud.txt -faili praegu juhenditesse üles laadida, nii et siin on link, kust saate faili picks.txt alla laadida.

Samm: laadige kood Arduino Minile üles

Laadige kood üles Arduino Minile
Laadige kood üles Arduino Minile
Laadige kood üles Arduino Minile
Laadige kood üles Arduino Minile
Laadige kood üles Arduino Minile
Laadige kood üles Arduino Minile

Esiteks, kui te pole kunagi varem Arduino Pro Mini kasutanud, ei saa te lihtsalt USB -kaablit ühendada ja alla laadida; peate kasutama FTDI -plaati ja ühendama juhtmed mini vastavate tihvtidega. Ma ei anna selle kohta õpetust siin, veebis on neid palju. Minu jaoks ei tahtnud ma mikrokontrolleri plaadile jootma alalist pistikut, mida koodi allalaadimiseks kasutatakse ainult üks kord, seega lõin väikese klipi, millega saab mini jootmata programmeerida (vt pilte). See oli inspireeritud sellistest toodetest nagu Fiddy, kuid mul pole 3D -printerile hõlpsat juurdepääsu, nii et tegin kartulikrõpsuklambrist oma. Kui inimesed on huvitatud, teen selle jaoks juhendi.

Koodi juurde. Sellel koodil on paar huvitavat osa, kuid see on enamasti otse.

Seadistusfunktsioonis on korralik hulk koodi, mis tegeleb hea juhusliku seemne saamisega. Tüüpiline meetod ühendamata tihvti analoognäidu kasutamiseks ei anna minu kogemuse põhjal piisavalt mitmekesist vastust. Ma saan numbri vahemikus 477 kuni 482. Kuna Arduino juhuslikul funktsioonil on üks ja ainult üks jada ja seeme määrab, kust selles jadas alustada, ei anna selline kitsas vahemik lõpuks piisavalt võimalikke vastuseid. Pidage meeles, et see kood algab sisuliselt iga kord, kui Wake-on-shake board lülitab toite välja ja uuesti sisse, seega on seemne poolt määratud jada esialgne asukoht ülioluline. Selle abistamiseks kirjutan SD -kaardile väga väikese faili, et jälgida viimast seemet ja lisada see uuele väärtusele, mis tuleb ühendamata tihvtilt.

Kui tsükkelfunktsioonis on valik valitud ja märgimassiiviks loetud, ei saa me tervet stringi lihtsalt välja printida. Ekraanil on piirang, kui kaua stringi korraga hakkama saab. Sel põhjusel peame viieteistkümnest reast läbi vaatama ja need ükshaaval ekraanile saatma.

Nõutavad välised raamatukogud:

ST7687S raamatukogu

DFRobot-Display Library

Samm: ühendage komponendid juhtmega

Ühendage komponendid juhtmetega
Ühendage komponendid juhtmetega
Ühendage komponendid juhtmetega
Ühendage komponendid juhtmetega

Aeg teha kogu juhtmete jootmine. Kippusin natuke pikemate juhtmete küljes eksima, kui mul tegelikult vaja oli, kuid see läks lõpuks hästi.

Lisatud skeemil on TFT -ekraan kujutatud pigem pistiku kui kogu ekraani pildina (mille jaoks ma ei leidnud Fritzingi osa). Olen märgistanud juhtmed/tihvtid selle järgi, kuidas need on detailil märgistatud. Samamoodi pole SD -kaart täpselt see, mida kasutasin, kuid märgistasin loetletud osa juhtmed/tihvtid.

On üks komponent, mida ma selles etapis kokku ei jootnud: aku. Selle asemel kasutasin nelja kontaktiga pistikut, mille kaks keskmist tihvti olid eemaldatud (teine pilt). See võimaldas mul testida kõiki ühendatud juhtmeid ja seejärel ühendada aku lahti, kui ma kõik palli külge kinnitasin.

Lõpuks kasutasin toite- ja jagatud ühenduste lihtsustamiseks veerandisuurust püsivat leivaplaadi trükkplaati. Seda näete kokkupaneku piltidelt.

Testige, kas kõik töötab

6. samm: kinnitage komponendid palli külge

Kinnitage komponendid palli külge
Kinnitage komponendid palli külge
Kinnitage komponendid palli külge
Kinnitage komponendid palli külge
Kinnitage komponendid palli külge
Kinnitage komponendid palli külge
Kinnitage komponendid palli külge
Kinnitage komponendid palli külge

Pange esmalt kuvar paika ja kasutage selle kinnitamiseks mõnda Sugru (kaks esimest pilti). Ärge unustage varem eemaldatud äärikut, enne ekraani kinnitamist peaksite selle oma kohale tagasi panema.

Järgmiseks teipisin protolaua palli tühja poole põhja. Ma hoidsin kõiki oma jootjaid plaadi ühel küljel, nii et mul oli veel pool lauda, mille üle teipida. Seejärel teipisin aku samale poolele proto-plaadile (kolmas pilt).

Mõlemad pooled on nüüd juhtmetega ühendatud. Mõelge, kuhu USB -auk jõuab, kui panete kaks poolt kokku. Kui valgel huulel on ogad kinni, pidage meeles, et see peab laskuma alla valge huule ühe kiilu keskele, sest me kinnitame USB -laadimisplaadi kahe huule plastikust serva vahele.

Kinnitage USB-laadimisplaat väikese tüki kahepoolse vahtlindi abil. Kahepoolne teip ei tohiks katta kogu laadimisplaadi põhja, sest ots koos juhtmetega ripub üle valge huule keskse serva. Nii et lint peaks katma umbes kolm neljandikku plaadi alumisest pinnast. Asetage lint esmalt tahvli põhja ja seejärel vajutage see valitud kohale. USB -pistik peaks asuma kuuli servas, jäädes plastikust musta piirkonda ilma pallist välja minemata. Lõpuks kasutage veel mõnda Sugru laua ülaosas ja kinnitage mõlemalt poolt. See lisab lihtsalt täiendavat tugevust, kui kaabel lükatakse USB -porti.

Pange mikro-SD-kaart nüüd SD-kaardi moodulisse

Soovi korral saate ülejäänud komponendid valge huule külge kinnitada. Panin ülejäänud komponendid lihtsalt ekraani taha.

Samm: pange kaks poolt kokku

Pange kaks poolt kokku
Pange kaks poolt kokku
Pange kaks poolt kokku
Pange kaks poolt kokku

Kontrollige uuesti, kas olete sisestanud SD -kaardi ja kas olete kõiki komponente koos testinud.

Ok, kui olete valmis, tehke mõnest Sugru liimist pikk madu ja joostage see valge huulega ümber palli serva (esimene pilt). Liim tuleks asetada otse ristmikule, kus plasti mustad ja valged osad kokku saavad. Liimi siia panemine tagab tugeva sideme, vähendades samal ajal pragu välja pressivat liimi kogust pärast kahe poole ühendamist.

Vajutage mõlemad pooled kokku, veendudes, et USB -port jääb läbi selle jaoks eelnevalt lõigatud augu. Kinnitage mööbliklambri abil mõlemad pooled kokku piisavalt tihedalt, et pooled koos püsiksid, pole vaja seda tugevasti kinni suruda. Sugru liim kõveneb umbes 24 tunni jooksul.

Kui teil on osa liimist, mis vuugist välja pressis, kraapige see julgelt sõrme või sileda lapi/paberrätikuga maha.

Soovitan: