Tartalomjegyzék:

Varázslatos válaszok labda Arduino Pro Mini és TFT kijelzővel: 7 lépés
Varázslatos válaszok labda Arduino Pro Mini és TFT kijelzővel: 7 lépés

Videó: Varázslatos válaszok labda Arduino Pro Mini és TFT kijelzővel: 7 lépés

Videó: Varázslatos válaszok labda Arduino Pro Mini és TFT kijelzővel: 7 lépés
Videó: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Július
Anonim
Varázslatos válaszok labda az Arduino Pro Mini és a TFT kijelző segítségével
Varázslatos válaszok labda az Arduino Pro Mini és a TFT kijelző segítségével
Varázslatos válaszok labda az Arduino Pro Mini és a TFT kijelző segítségével
Varázslatos válaszok labda az Arduino Pro Mini és a TFT kijelző segítségével
Varázslatos válaszok labda az Arduino Pro Mini és a TFT kijelző segítségével
Varázslatos válaszok labda az Arduino Pro Mini és a TFT kijelző segítségével

Nemrégiben a lányommal szétszedtünk egy Magic 8 labdát, hogy a húsz választ helyettesítse az általa választottakkal. Ez ajándék volt egy barátjának. Ez elgondolkodtatott, hogy hogyan tehetném ezt nagyobb léptékben. Lehet több, mint 20 válaszunk? Elektronikus verzióval megtehetjük!

Tehát ez leírja, hogy hogyan szedtem szét egy Mattel Magic 8 Ball-ot (bocs, Mattel), és kerek TFT kijelzővel hihetetlen számú további választ mutattam (a legkisebb micro-SD kártya, amit találtam, 8 GB volt, szóval ez tényleg túlzás mire használják). A labda Sparkfun Wake-on-shake táblát használ a válasz kiváltására, majd a labda kikapcsolására az akkumulátor kímélése érdekében. Egy újratöltő táblát használnak, amely lehetővé teszi az akkumulátor USB -kapcsolatról történő újratöltését.

Kellékek

Alkatrészek:

Arduino Pro Mini 328 - 3.3V/8MHz

SparkFun Wake on Shake

Lítium -ion akkumulátor - 400 mAh

Szervező 12db TP4056 töltőmodul 5V Micro USB 1A 18650 lítium akkumulátor töltő tábla védő töltő modullal (ezek közül csak egy kell, de a 12 csomag kevesebb mint 9 dollár)

DAOKI 5 db Micro SD tárolólap (ismét csak egy kell, de az 5 csomag még mindig kevesebb, mint 9 dollár)

2,2 hüvelykes DFRobot TFT LCD kijelző modul

Kingston 8 GB -os microSD (lehet, hogy egy régi található a ház körül)

Perma-Proto negyedik méretű kenyértáblás NYÁK (bármilyen tetszőleges NYÁK-t is használhat)

Magic 8 Ball

FTDI Basic breakout 3.3V (lehet, hogy már rendelkezik ezekkel, ha hasonló projektet végzett az Arduino Pro Mini vagy hasonló táblával)

4 tűs ház 2,54 mm -es JST XH dugó/hüvelyes Dupont vezeték csatlakozó készlettel (opcionális, de ajánlott az akkumulátor csatlakoztatásához)

Egyéb alapvető kellékek:

Sugru formázható ragasztó (ragasztószalagot és forró ragasztót használhat, de ez jobban tetszik)

Szövetbetétes ragasztószalag

Kétoldalas habszalag

Huzal

Eszközök:

Forrasztópáka

Ön által választott forgószerszám (pl. Dremel)

Bútorbilincs

1. lépés: Vágja félbe a Magic 8 labdát

Vágja félbe a Magic 8 labdát
Vágja félbe a Magic 8 labdát
Vágja félbe a Magic 8 labdát
Vágja félbe a Magic 8 labdát

Először fel kell osztania a Magic 8 labdát. Az enyémet egy lapos oldallal lefelé egy munkaasztalhoz rögzítettem egy bútorbilincs segítségével. Dremel segítségével, amelyhez egy alapvető vágókorong van csatlakoztatva, vágja el a golyó varratát. Mélyre kell vágnia, nagyjából amennyire a vágótárcsa engedi. Lassíts. Még a teljes vágás után is szükség lehet laposfejű csavarhúzóra vagy vésőre a végső leválasztáshoz. Van egy henger, amely a "varázslatos" folyadékot és az ikozaédert (húszoldalas alakú - igen, ezt fel kellett néznem) tartja. Csak dobja el, vagy használja más projektben. Ha más projektben használja, mondja el, mit tett, hogy megtudjam, mit tegyek az enyémmel.

Két fele marad, ahogy a képeken látható. Ezt már háromszor megcsináltam, és a legutóbbi alkalommal a fehér ajak sima volt, nem pedig gerincekkel, így a labdája kissé eltérhet a képen láthatótól.

A külső széle (az olvasztott és újrakeményített műanyag) körül még marad némi műanyag salak. Fékezze le a kezével, ha tudja; egy szerszám használatával fennáll annak a veszélye, hogy feldörzsöli a labdát, és a salak elég könnyen lejön.

2. lépés: Készítse elő a labdát

Készítse elő a labdát
Készítse elő a labdát
Készítse elő a labdát
Készítse elő a labdát
Készítse elő a labdát
Készítse elő a labdát

A labda műanyag felén két módosítást kell végrehajtanunk.

Először is, a nyitott felén, amelyen a "8" van feltüntetve, le kell borotválni egy olyan területet, amely elég nagy ahhoz, hogy az USB töltőtáblánk ki tudjon ülni az USB porttal. A Dremel készülékemet durva csiszolódobhoz használtam. Olyan vékonyat szeretne, amennyire csak lehet, anélkül, hogy tisztán kellene mennie. Ezután vágjon el egy kis nyílást, amely elég nagy ahhoz, hogy az USB -port kifelé szökhessen. Féknyereggel mértem az USB -portot, de ha szükséges, valószínűleg megnézheti ezt. Ismét a Dremelt használtam egy kis vágószerkezettel a nyílás elkészítéséhez. Az első két kép a nyílást mutatja, és hogy néz ki az USB -kártya mögött.

Másodszor, a másik felében, amelyen mindkét oldalon lyuk van és a fehér műanyag ajak, készítsen elő egy helyet a kijelző számára. Csak a nyíláson belül, ahol a kijelző fog ülni, műanyag bordák és egy gumi (?) Karima találhatók a nyílás belső oldalán. Vegye ki a karimát és tegye félre. Ezt később visszavesszük, de ezt a lépést nem akarjuk. A kijelző egyik oldalán téglalap alakú extrudálás található, amely nem engedi, hogy laposan üljön a nyíláson, ha ezen gerincek egy részét nem távolítják el. Ismét használja a Dremel durva csiszoló dobját, borotválja le ezeket, amennyire csak lehetséges. Gyere be abból a lyukból, ahol a kijelző a legjobb szögben lesz. Teljesnek kell lennie, mint a képeken. Ne feledje, hogy a képeken a kijelző a helyén látható, de még NE CSATLAKOZZA.

3. lépés: Készítse elő a válaszokat a Micro-SD kártyán

Ez a lépés egy kicsit bonyolultabb, mint gondolnád. Ha nem szeretné létrehozni saját válaszlistáját, ugorjon a lépés utolsó bekezdésére.

A szándék az, hogy megadhatjuk a labdának a használni kívánt karakterláncok listáját a lehetséges válaszként, és ezek a képernyőn középre kerülnek, a szavak közti szünetek nélkül. Nem akarjuk ezt a feldolgozást a mikrokontrolleren elvégezni, és statikus rekordméretű fájlt szeretnénk, hogy gyorsan megtalálhassunk egy adott sort.

Annak ellenére, hogy a kijelző kerek, funkcionálisan virtuális téglalap alakú kijelző, amelyen csak a körön belüli képpontok láthatók. A kijelző több méretű szöveget is megjeleníthet, de csak a legkisebb verziót használjuk, ami 6 x 8 pixel. Ezt a méretet használva a kijelző 315 karaktert helyezhet el a képernyőn (21 karakter soronként 15 sorral), de csak 221 látható, és minden sor eltérő számú látható karaktert tartalmaz. Látod a problémát?

Írtam egy Java programot, hogy bevegyek egy formázatlan válaszfájlt, és teljesen középre állított rekordokká alakítsam át, amelyek könnyen megjeleníthetők a kerek TFT -n. (link a "FormatToPicksFileFullyCentered.java" fájl letöltéséhez).

Anélkül, hogy belemennénk a teljes kód magyarázatába, az általános elképzelés az, hogy hátrafelé haladunk a középpontból (ish) és szóközt szúrunk be, hogy megbizonyosodjunk arról, hogy nem törjük át a szavakat a látható sorokon, majd ugyanezt a középre előre. Végül végigmegyünk az összes soron, és középre tesszük a sorokat a teljes 21 karaktersoron belül, hogy pontosan 316 bájtos rekordot hozzunk létre (315 alfanumerikus karakter és egy új soros karakter). A kód valójában három betűtípuson (x 3, x 2 és x 1) működik, hogy lássa, melyik a legnagyobb betűtípus, amely használható, és még mindig illeszkedik a szöveghez. A központosítás kicsit kimaradt az x 2 és x 3 betűtípusoknál, elnézést. Vigyázzon a karakterekre, amelyek egynél több bájtot foglalnak el, mert ezek kidobhatják a kimenő fájlt.

Másolja a "picks.txt" fájlt a micro-SD kártyára.

Ha nem akarja átvészelni azt a problémát, hogy létrehozza saját listáját, akkor felsoroltam azokat a válogatásokat, amelyeket csak átmásolhat az SD -kártyára és használhat. Jelenleg nem tudtam feltölteni egy.txt fájlt az utasítások közé, ezért itt egy link, ahonnan letöltheti a picks.txt fájlt.

Lépés: Töltse fel a kódot az Arduino Mini készülékre

Töltse fel a kódot az Arduino Mini készülékre
Töltse fel a kódot az Arduino Mini készülékre
Töltse fel a kódot az Arduino Mini készülékre
Töltse fel a kódot az Arduino Mini készülékre
Töltse fel a kódot az Arduino Mini készülékre
Töltse fel a kódot az Arduino Mini készülékre

Először is, ha még soha nem használta az Arduino Pro Mini készüléket, akkor nem csak USB -kábelt csatlakoztathat és letöltheti; FTDI kártyát kell használnia, és a vezetékeket a mini megfelelő tűire kell csatlakoztatnia. Itt nem adok bemutatót erről, rengeteg van a neten. Számomra nem akartam egy állandó csatlakozót forrasztani a mikrokontroller kártyára, amelyet csak egyszer használnak a kód letöltéséhez, ezért létrehoztam egy kis klipet, amellyel a mini programozható forrasztás nélkül (lásd a képeket). Ezt az olyan termékek inspirálták, mint a Fiddy, de nincs könnyű hozzáférésem a 3D nyomtatóhoz, ezért egy krumpliszelet klipből készítettem el a sajátomat. Ha az embereket érdekli, akkor csak erre adok egy tanulságosat.

Tovább a kódhoz. Ennek a kódnak van néhány érdekes része, de többnyire egyszerű.

A beállítási funkcióban van egy tisztességes mennyiségű kód, amely egy jó véletlenszerű vetőmag megszerzésével foglalkozik. Az analóg leolvasás használatának tipikus módja a nem csatlakoztatott tűről tapasztalataim szerint nem ad elég változatos választ. 477 és 482 között kapok egy számot. Mivel az Arduino véletlen függvénynek csak egy szekvenciája van, és a mag határozza meg, hogy hol kezdje el ezt a sorozatot, egy ilyen szűk tartomány végül nem ad elegendő lehetséges választ. Ne feledje, hogy ez a kód lényegében újrakezdődik minden alkalommal, amikor a Wake-on-Shake tábla kikapcsolja, majd újra bekapcsolja, így a vetőmag által meghatározott kezdeti sorrendi pozíció döntő fontosságú. Ennek megkönnyítésére írok egy nagyon kicsi fájlt az SD -kártyára, hogy nyomon kövessem az utolsó vetőmagot, és hozzáteszem azt egy új értékhez, amely a nem csatlakoztatott csapból származik.

Miután kiválasztottunk egy hurkot a ciklusfüggvényben és beolvassuk egy karakter tömbbe, nem tudjuk csak kinyomtatni a teljes karakterláncot. A kijelző korlátozza, hogy mennyi hosszú karakterláncot tud egyszerre kezelni. Emiatt a tizenöt sor mindegyikét végig kell tekernünk, és egyenként el kell küldenünk a kijelzőre.

Szükséges külső könyvtárak:

ST7687S Könyvtár

DFRobot-Display Library

5. lépés: Csatlakoztassa az alkatrészeket

Csatlakoztassa az alkatrészeket
Csatlakoztassa az alkatrészeket
Csatlakoztassa az alkatrészeket
Csatlakoztassa az alkatrészeket

Ideje elvégezni a vezetékek forrasztását. Hajlamos voltam a valóban szükségesnél valamivel hosszabb vezetékek oldalán tévedni, de ez végül jól sikerült.

A mellékelt vázlatban a TFT kijelzőt egy csatlakozó jelzi, nem pedig a teljes kijelző képe (ehhez nem találtam Fritzing részt). A vezetékeket/csapokat az alkatrészen lévő címke alapján címkéztem. Hasonlóképpen, az SD -kártya nem pontosan az, amit használtam, de a felsorolt alkatrészek vezetékét/csapjait felcímkéztem.

Van egy alkatrész, amit ebben a lépésben nem forrasztottam össze: az akkumulátor. Ehelyett négypólusú csatlakozót használtam a két középső csap eltávolításával (második kép). Ez lehetővé tette, hogy kipróbáljam az összes összekötött alkatrészt, majd húzzam le az akkumulátort, miközben mindent a golyóhoz rögzítettem.

Végezetül egy negyed méretű állandó kenyeretábla PCB-t használtam, hogy megkönnyítsem az áramellátást és a megosztott kapcsolatokat. Ezt látni fogod a szerelési képeken.

Tesztelje, hogy minden működik

6. lépés: Rögzítse az alkatrészeket a labdához

Rögzítse az alkatrészeket a labdához
Rögzítse az alkatrészeket a labdához
Rögzítse az alkatrészeket a labdához
Rögzítse az alkatrészeket a labdához
Rögzítse az alkatrészeket a labdához
Rögzítse az alkatrészeket a labdához
Rögzítse az alkatrészeket a labdához
Rögzítse az alkatrészeket a labdához

Először tegye a kijelzőt a helyére, és használjon néhány Sugru -t a rögzítéshez (az első két kép). Ne feledkezzen meg a korábban eltávolított karimáról sem, mielőtt visszahelyezné a kijelzőt.

Ezután beragasztottam a proto-táblát a labda üres felének aljába. Az összes forraszanyagomat a tábla egyik oldalán tartottam, így még megmaradt a tábla fele, amelyet le tudtam ragasztani. Ezután ragasztottam az akkumulátort a proto-panel ugyanazon felére (harmadik kép).

Mindkét felét most vezetékek kötik össze. Találd ki, hol fog végződni az USB -nyílás, ha összerakod a két felet. Ha a fehér ajakon a tüskék felragadnak, ne feledje, hogy a fehér ajak egyik ékének középpontjában kell lejönnie, mert az USB töltőkártyát az ajak két műanyag gerince közé rögzítjük.

Egy kis darab kétoldalas habszalag segítségével rögzítse az USB töltőkártyát. A kétoldalas szalagnak nem szabad lefednie a töltőkártya teljes alját, mert a csatlakoztatott vezetékekkel ellátott vége a fehér ajak középső szélén fog lógni. Tehát a szalagnak le kell fednie a tábla alsó felületének körülbelül háromnegyedét. Először tegye a szalagot a tábla aljára, majd nyomja be a kívánt helyre. Az USB -csatlakozónak a labda szélén kell lennie, és bele kell tapadnia a műanyag fekete területébe anélkül, hogy a labdán kívülre menne. Végül használjon még néhány Sugru -t a tábla tetején és rögzítse mindkét oldalon. Ez csak további erőt ad, ha egy kábelt az USB -portba tolnak.

Most helyezze be a micro-SD kártyát az SD kártya modulba

Ha kívánja, rögzítheti a többi alkatrészt a fehér ajakhoz. A maradék alkatrészeket csak a kijelző mögé tettem.

7. lépés: Tegye vissza a két felét

Tegye vissza a két felét
Tegye vissza a két felét
Tegye vissza a két felét
Tegye vissza a két felét

Ellenőrizze, hogy behelyezte -e az SD -kártyát, és hogy az összes összetevőt együtt tesztelte -e.

Ok, ha készen állsz, készíts egy hosszú kígyót valami Sugru ragasztóból, és futtasd végig a golyó felének szélén a fehér ajakkal (első kép). A ragasztót közvetlenül arra a csomópontra kell fektetni, ahol a műanyag fekete -fehér részei összeérnek. A ragasztó idehelyezése biztosítja az erős kötést, miközben minimálisra csökkenti a két fél összeillesztése után a repedésből kinyomódó ragasztó mennyiségét.

Nyomja össze a két felet, és győződjön meg arról, hogy az USB -port átgördül a korábban hozzá vágott lyukon. A bútorbilincs segítségével szorítsa össze a két felet olyan szorosan, hogy a felek együtt maradjanak, nem kell erősen rögzíteni. A Sugru ragasztó körülbelül 24 óra alatt megkeményedik.

Ha megvan a ragasztó egy része, amely kinyomódott az ízületből, akkor nyugodtan kaparja le az ujjával vagy egy sima ruhával/papírtörlővel.

Ajánlott: