Satura rādītājs:

Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju: 7 soļi
Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju: 7 soļi

Video: Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju: 7 soļi

Video: Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju: 7 soļi
Video: 14 интересных товаров и гаджетов с Aliexpress, которые вам пригодятся 2024, Jūlijs
Anonim
Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju
Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju
Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju
Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju
Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju
Burvju atbilžu bumba ar Arduino Pro Mini un TFT displeju

Kādu laiku atpakaļ mēs ar meitu izjaucām Magic 8 bumbiņu, lai viņa varētu aizstāt divdesmit atbildes ar savām izvēlētajām. Šī bija dāvana viņas draugam. Tas lika man domāt, kā to izdarīt plašākā mērogā. Vai mums varētu būt daudz vairāk nekā 20 atbilžu? Mēs varam ar elektronisko versiju!

Tātad šeit tiks aprakstīts, kā es izjaucu Mattel Magic 8 Ball (atvainojiet, Mattel) un izmantoju apaļu TFT displeju, lai parādītu neticami daudz papildu atbilžu (mazākā micro-SD karte, ko varēju atrast, bija 8 GB), tāpēc tas ir patiešām pārmērīgi. kādam nolūkam tas tiek izmantots). Bumba izmanto Sparkfun Wake-on-shake dēli, lai aktivizētu reakciju un pēc tam izslēgtu bumbu, lai taupītu akumulatoru. Lai uzlādētu akumulatoru no USB savienojuma, tiek izmantota uzlādes plate.

Piegādes

Daļas:

Arduino Pro Mini 328 - 3.3V/8MHz

SparkFun Wake on Shake

Litija jonu akumulators - 400 mAh

Organizators 12 gab. TP4056 uzlādes modulis 5V Micro USB 1A 18650 litija akumulatora uzlādes dēlis ar aizsardzības lādētāja moduli (jums ir nepieciešams tikai viens no šiem, bet 12 iepakojums bija mazāks par 9 ASV dolāriem)

DAOKI 5 gab. Micro SD atmiņas plate (atkal jums ir nepieciešams tikai viens, bet 5 iepakojums joprojām bija mazāks par 9 USD)

DFRobot 2,2 collu TFT LCD displeja modulis

Kingston 8 GB microSD (iespējams, vecais no tiem atrodas jūsu mājā)

Perma-Proto ceturkšņa izmēra maizes dēļa PCB (jūs varat arī izmantot jebkuru PCB, kas jums patīk)

Burvju 8 bumba

FTDI Basic breakout 3.3V (iespējams, jums jau ir viens no šiem, ja esat veicis līdzīgu projektu ar Arduino Pro Mini vai līdzīgu plāksni)

4 kontaktu korpuss ar 2,54 mm JST XH vīriešu/sieviešu tapas galvenes Dupont vadu savienotāju komplektu (pēc izvēles, bet ieteicams akumulatora pievienošanai)

Citi pamata piederumi:

Sugru formējama līme (varētu izmantot līmlenti un karstu līmi, bet man tas patīk labāk)

Santehnikas līmlente

Divpusēja putu lente

Vads

Rīki:

Lodāmurs

Rotācijas instruments pēc jūsu izvēles (piemēram, Dremel)

Mēbeļu skava

1. darbība: sagrieziet Magic 8 bumbu uz pusēm

Pārgrieziet Magic 8 bumbu uz pusēm
Pārgrieziet Magic 8 bumbu uz pusēm
Pārgrieziet Magic 8 bumbu uz pusēm
Pārgrieziet Magic 8 bumbu uz pusēm

Vispirms jums vajadzēs sadalīt Magic 8 bumbu uz pusēm. Es piestiprināju savu pie darba galda ar plakanu pusi uz leju, izmantojot mēbeļu skavu. Izmantojot Dremel ar pievienotu pamata griešanas disku, nogrieziet gar lodītes šuvi. Jums vajadzēs griezt dziļi, gandrīz tik tālu, cik to atļauj griešanas disks. Paņemiet to lēni. Pat pēc tam, kad esat nogriezis līdz galam, jums var būt nepieciešams izmantot plakanu skrūvgriezi vai kaltu, lai veiktu galīgo atdalīšanu. Ir cilindrs, kurā atrodas "burvju" šķidrums un ikozaedrs (divdesmitpusēja forma - jā, man tas bija jāskatās uz augšu). Vienkārši izmetiet to vai izmantojiet to citā projektā. Ja jūs to izmantojat citā projektā, dariet man zināmu, ko jūs darījāt, lai es zinātu, ko darīt ar savu.

Jums paliks divas puses, kā parādīts attēlos. Es to esmu darījis trīs reizes un pēdējā laikā, baltā lūpa bija gluda, nevis ar izciļņiem, tāpēc jūsu bumba var izskatīties nedaudz savādāk nekā attēlā.

Ap ārējo malu (izkusušo un sacietējušo plastmasu) joprojām būs daži plastmasas izdedži. Bremzējiet to ar rokām, ja varat; izmantojot instrumentu, pastāv risks saskrāpēt bumbas apdari un izdedži diezgan viegli nokrīt.

2. solis: Sagatavojiet bumbu

Sagatavojiet bumbu
Sagatavojiet bumbu
Sagatavojiet bumbu
Sagatavojiet bumbu
Sagatavojiet bumbu
Sagatavojiet bumbu

Bumbas plastmasas pusēs mums būs jāveic divas izmaiņas.

Pirmkārt, atklātajā pusē, kurā ir uzzīmēts “8”, mums būs jānosūta pietiekami liels laukums, lai mūsu USB uzlādes dēlis varētu sēdēt ar USB portu. Es izmantoju savu Dremel ar piestiprinātu rupju slīpēšanas cilindru. Jūs vēlaties, lai tas būtu tik plāns, cik vien iespējams, neejot cauri. Pēc tam izgrieziet nelielu atveri, kas ir pietiekami liela, lai ļautu USB portam izbāzt ārpusi. Es izmantoju suportu, lai izmērītu USB portu, bet, ja nepieciešams, jūs, iespējams, varētu to uzlikt. Atkal atveres izveidošanai es izmantoju Dremel ar nelielu griešanas piederumu. Pirmie divi attēli parāda atvērumu un to, kā tas izskatās ar USB plati aiz tā.

Otrkārt, otrā pusē, kurā ir caurums abās pusēs un balta plastmasas lūpa, sagatavojiet vietu displeja sēdēšanai. Tieši atveres iekšpusē, kur atradīsies displejs, atveres iekšpusē ir plastmasas grēdas un gumijas (?) Atloks. Izņemiet atloku un novietojiet to malā. Mēs to atgriezīsim vēlāk, bet mēs vēlamies, lai tas netiktu paveikts šim solim. Displeja vienā pusē ir taisnstūrveida ekstrūzija, kas neļaus tam sēdēt plakaniski atverē, ja dažas no šīm izciļņiem netiks noņemtas. Atkal izmantojot Dremel rupjo slīpēšanas cilindru, cik vien iespējams, noskūtiet tos. Ienāciet no atveres, kur displejs atradīs vislabāko leņķi. Kad tas ir pabeigts, tam vajadzētu izskatīties kā attēlos. Ņemiet vērā, ka attēlos ir redzams displejs vietā, bet to vēl PIELIETIET.

3. darbība: sagatavojiet atbildes uz Micro SD kartes

Šis solis ir nedaudz sarežģītāks, nekā jūs varētu domāt. Ja nevēlaties izveidot savu atbilžu sarakstu, pārejiet pie šīs darbības pēdējās rindkopas.

Nodoms ir tāds, ka mēs varam dot bumbiņai jebkuru virkņu sarakstu, kas jāizmanto kā iespējamās atbildes, un tās tiks centrētas ekrānā bez pārtraukumiem vārdu vidū. Mēs nevēlamies šo apstrādi veikt mikrokontrollerī, un mēs vēlamies failu ar statisku ieraksta lielumu, lai varētu ātri atrast kādu konkrētu rindu.

Lai gan displejs ir apaļš, tas funkcionāli ir virtuāls taisnstūrveida displejs, kurā redzami tikai pikseļi aplī. Displejā var parādīt vairāku izmēru tekstu, bet mēs izmantojam tikai mazāko versiju, kas ir 6 x 8 pikseļi. Izmantojot šo izmēru, ekrānā var ievietot 315 rakstzīmes (21 rakstzīme katrā rindā un 15 rindas), bet ir redzamas tikai 221, un katrā rindā ir atšķirīgs redzamo rakstzīmju skaits. Redzi problēmu?

Es uzrakstīju Java programmu, lai uzņemtu neformatētu atbilžu failu un pārvērstu tos pilnībā centrētos ierakstos, kurus varētu viegli parādīt apaļajā TFT. (saite, lai lejupielādētu failu "FormatToPicksFileFullyCentered.java").

Neiedziļinoties visa koda skaidrojumā, vispārējā ideja ir tāda, ka mēs virzāmies atpakaļ no centra (ish) un ievietojam atstarpes, lai pārliecinātos, ka mēs nesalaužam vārdus pāri redzamām līnijām, pēc tam darām to pašu no centrs uz priekšu. Visbeidzot, mēs izlaižam visas rindas un centrējam katru rindu visu 21 rakstzīmju rindu iekšpusē, lai izveidotu ierakstu ar precīzi 316 baitiem (315 burtciparu rakstzīmes plus jaunas rindas rakstzīme). Kods faktiski darbojas, izmantojot trīs fontus, x 3, x 2 un x 1, lai noskaidrotu, kurš ir lielākais fonts, ko var izmantot un joprojām atbilst tekstam. Centrēšana ir nedaudz izslēgta x 2 un x 3 fontiem, atvainojiet. Esiet piesardzīgs ar rakstzīmēm, kas aizņem vairāk nekā vienu baitu, jo tās var izmest izvadīto failu.

Kopējiet failu "picks.txt" uz micro-SD karti.

Ja nevēlaties izveidot savas izvēles sarakstu, esmu iekļāvis savu izvēli, ko varat vienkārši nokopēt SD kartē un izmantot. Pašlaik nevarēju augšupielādēt.txt failu pamācībās, tāpēc šeit ir saite, kur var lejupielādēt failu picks.txt.

4. darbība: augšupielādējiet kodu Arduino Mini

Augšupielādējiet kodu Arduino Mini
Augšupielādējiet kodu Arduino Mini
Augšupielādējiet kodu Arduino Mini
Augšupielādējiet kodu Arduino Mini
Augšupielādējiet kodu Arduino Mini
Augšupielādējiet kodu Arduino Mini

Pirmkārt, ja jūs nekad iepriekš neesat izmantojis Arduino Pro Mini, jūs nevarat vienkārši pievienot USB kabeli un lejupielādēt; jums ir jāizmanto FTDI tāfele un jāpievieno vadi attiecīgajām mini tapām. Es šeit nedošu pamācību, tīmeklī ir daudz. Man pašam negribējās pie mikrokontrollera plates pielodēt pastāvīgu savienotāju, kas tiktu izmantots tikai vienreiz, lai lejupielādētu kodu, tāpēc izveidoju nelielu klipu, ko var izmantot mini programmēšanai bez lodēšanas (skat. Attēlus). To iedvesmoja tādi produkti kā Fiddy, bet man nav viegli piekļūt 3D printerim, tāpēc es izveidoju savu no kartupeļu čipsu klipša. Ja cilvēkiem ir interese, es uztaisīšu pamācību tieši par to.

Uz kodu. Šim kodam ir pāris interesantas daļas, taču tas galvenokārt ir taisns.

Iestatīšanas funkcijā ir pienācīgs koda daudzums, kas saistīts ar labas nejaušas sēklas iegūšanu. Manā pieredzē tipiskā metode, kā izmantot analogo lasījumu no nesaistītas tapas, nesniedz pietiekami daudzveidīgu atbildi. Es saņemu skaitli no 477 līdz 482. Tā kā Arduino izlases funkcijai ir viena un tikai viena secība, un sēkla nosaka, kur šajā secībā sākt, šāds šaurs diapazons galu galā neradīs pietiekami daudz iespējamo atbilžu. Paturiet prātā, ka šis kods būtībā sākas no jauna katru reizi, kad Wake-on-shake dēlis izslēdz un atkal ieslēdz strāvu, tāpēc sākotnējā secības pozīcija, ko nosaka sēkla, ir izšķiroša. Lai palīdzētu šajā jautājumā, es SD kartē uzrakstu ļoti mazu failu, lai izsekotu pēdējai sēklai un pievienotu to jaunai vērtībai, kas nāk no nesaistītās tapas.

Kad cilpas funkcijā ir atlasīta izvēle un tā tiek nolasīta rakstzīmju masīvā, mēs nevaram vienkārši izdrukāt visu virkni. Displejā ir ierobežojums, cik ilgi virkne var tikt apstrādāta vienlaikus. Šī iemesla dēļ mums ir jāiziet cauri katrai piecpadsmit rindai un jānosūta tās uz displeju pa vienam.

Nepieciešamās ārējās bibliotēkas:

ST7687S bibliotēka

DFRobot-Display bibliotēka

5. solis: savienojiet komponentus

Pievienojiet komponentus vadiem
Pievienojiet komponentus vadiem
Pievienojiet komponentus vadiem
Pievienojiet komponentus vadiem

Laiks veikt visu vadu lodēšanu. Es mēdzu kļūdīties nedaudz garāku vadu pusē, nekā man patiešām vajadzēja, bet tas beidzās labi.

Pievienotajā shēmā TFT displeju attēlo savienotājs, nevis visa displeja attēls (kuram es nevarēju atrast Fritzing daļu). Es esmu marķējis vadus/tapas, pamatojoties uz to, kā tie ir marķēti uz detaļas. Tāpat SD karte nav īstā, kuru izmantoju, bet es norādīju uz norādītās daļas vadus/tapas.

Ir viens komponents, ko es šajā solī nelodēju kopā: akumulators. Tā vietā es izmantoju četru kontaktu savienotāju, kuram bija noņemtas divas vidējās tapas (otrais attēls). Tas ļāva man pārbaudīt visas savienotās sastāvdaļas un pēc tam atvienot akumulatoru, kamēr es visu piestiprināju bumbiņai.

Visbeidzot, es izmantoju ceturtdaļas izmēra pastāvīgu maizes dēļa PCB, lai atvieglotu barošanu un koplietotos savienojumus. To redzēsiet montāžas attēlos.

Pārbaudiet, vai viss darbojas

6. solis: pievienojiet komponentus bumbiņai

Pievienojiet bumbai komponentus
Pievienojiet bumbai komponentus
Pievienojiet bumbai komponentus
Pievienojiet bumbai komponentus
Pievienojiet bumbai komponentus
Pievienojiet bumbai komponentus
Pievienojiet bumbai komponentus
Pievienojiet bumbai komponentus

Vispirms novietojiet displeju vietā un izmantojiet dažus Sugru, lai to nostiprinātu (pirmie divi attēli). Neaizmirstiet par atloku, kuru esat noņēmis iepriekš, pirms displeja nostiprināšanas jums vajadzētu to atgriezt savā vietā.

Tālāk es ievietoju prototipu bumbas tukšās puses apakšā. Es visus savus lodētājus turēju tāfeles vienā pusē, tāpēc man vēl bija puse dēļa, kuru es varētu pārklāt ar lenti. Pēc tam es uzlīmēju akumulatoru tai pašai protoplates pusei (trešais attēls).

Abas puses tagad ir savienotas ar vadiem. Noskaidrojiet, kur nonāks USB caurums, kad saliksit abas puses kopā. Ja baltajai lūpai ir muguriņas, tad paturiet prātā, ka tai ir jānokrīt centrā, kas atrodas vienā no baltās lūpas ķīļiem, jo mēs nostiprināsim USB uzlādes plāksni starp divām lūpu plastmasas grēdām.

Izmantojot nelielu divpusējas putu lentes gabalu, pievienojiet USB uzlādes paneli. Divpusējai lentei nevajadzētu aptvert visu uzlādes paneļa dibenu, jo gals ar pievienotajiem vadiem karājas virs baltās lūpas vidus malas. Tātad lentei jāaptver apmēram trīs ceturtdaļas no tāfeles apakšējās virsmas. Vispirms ielieciet lenti tāfeles apakšā, pēc tam nospiediet to vietā, par kuru esat nolēmis. USB savienotājam jāatrodas lodītes malā un jāiekļaujas plastmasas melnajā zonā, neizkāpjot ārpus bumbas. Visbeidzot, izmantojiet nedaudz vairāk Sugru virs dēļa augšdaļas un nostipriniet abās pusēs. Tas tikai palielina spēku, kad kabelis tiek ievietots USB portā.

Tagad ievietojiet micro-SD karti SD kartes modulī

Ja vēlaties, pārējās sastāvdaļas var piestiprināt pie baltas lūpas. Es vienkārši ievietoju atlikušos komponentus aiz displeja.

7. solis: salieciet abas puses kopā

Salieciet abas puses kopā
Salieciet abas puses kopā
Salieciet abas puses kopā
Salieciet abas puses kopā

Vēlreiz pārbaudiet, vai esat ievietojis SD karti un vai esat pārbaudījis visas sastāvdaļas kopā.

Labi, ja esat gatavs, izveidojiet garu čūsku no kādas Sugru līmes un ar balto lūpu palaidiet to līdz galam pa bumbiņas pusi (pirmā bilde). Līme jāuzliek tieši uz krustojuma, kur savienojas melnbaltās plastmasas daļas. Ievietojot līmi šeit, tiek nodrošināta spēcīga saite, vienlaikus samazinot līmes daudzumu, kas izspiež no plaisas pēc abu pusīšu savienošanas.

Nospiediet abas puses kopā, pārliecinoties, ka USB ports iziet cauri tam iepriekš izgrieztajam caurumam. Izmantojot mēbeļu skavu, saspiediet abas puses kopā tik cieši, lai tās būtu kopā, un nav nepieciešams to stipri saspiest. Sugru līme sacietē apmēram 24 stundu laikā.

Ja jums ir daļa no līmes, kas izspiedās no locītavas, nekautrējieties to nokasīt ar pirkstu vai gludu drānu/papīra dvieli.

Ieteicams: