Taula de continguts:

Magic Answers Ball amb Arduino Pro Mini i pantalla TFT: 7 passos
Magic Answers Ball amb Arduino Pro Mini i pantalla TFT: 7 passos

Vídeo: Magic Answers Ball amb Arduino Pro Mini i pantalla TFT: 7 passos

Vídeo: Magic Answers Ball amb Arduino Pro Mini i pantalla TFT: 7 passos
Vídeo: 2023 Tesla MODEL Y Performance ⚠️ BUT Did You See… 🤤😘 #Shorts #Short #Tesla #teslamodely 2024, Desembre
Anonim
Magic Answers Ball amb Arduino Pro Mini i pantalla TFT
Magic Answers Ball amb Arduino Pro Mini i pantalla TFT
Magic Answers Ball amb Arduino Pro Mini i pantalla TFT
Magic Answers Ball amb Arduino Pro Mini i pantalla TFT
Magic Answers Ball amb Arduino Pro Mini i pantalla TFT
Magic Answers Ball amb Arduino Pro Mini i pantalla TFT

Fa un temps, la meva filla i jo vam desmuntar una bola de Magic 8 perquè pogués substituir les vint respostes per les que va escollir. Aquest va ser un regal per a una amiga seva. Això em va fer pensar en com fer-ho a una escala més gran. Podríem tenir més de 20 respostes? Amb una versió electrònica podem!

Així, es descriurà com vaig desmuntar una bola de Mattel Magic 8 (ho sento, Mattel) i vaig utilitzar una pantalla TFT rodona per mostrar un nombre increïble de respostes addicionals (la targeta micro-SD més petita que vaig poder trobar era de 8 GB, de manera que és realment excessiva per per a què s’utilitza). La pilota utilitza un tauler Sparkfun Wake-on-shake per activar la resposta i apagar la pilota després per conservar la bateria. Es fa servir una placa de recàrrega per permetre la recàrrega de la bateria des d’una connexió USB.

Subministraments

Parts:

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

SparkFun Wake on Shake

Bateria de ions de liti: 400 mAh

Organitzador 12 unitats TP4056 mòdul de càrrega 5V Micro USB 1A 18650 Tauler de càrrega de bateria de liti amb mòdul de carregador de protecció (només necessiteu un d’aquests, però el paquet de 12 valia menys de 9 dòlars)

Taula d'emmagatzematge micro SD DAOKI 5Pcs (de nou, només en necessiteu una, però el paquet de 5 encara tenia menys de 9 dòlars)

DFRobot Mòdul de pantalla TFT LCD de 2,2 polzades

Kingston microSD de 8 GB (és possible que en tingueu un de vell a casa vostra)

PCB de taulers de pa de mida Perma-Proto (també podeu utilitzar el PCB que vulgueu)

Bola màgica 8

FTDI Basic Breakout 3.3V (és possible que ja en tingueu un si heu fet un projecte similar amb l'Arduino Pro Mini o una placa similar)

Carcassa de 4 pins amb kit de connectors de cable Dupont de 2,54 mm JST XH masculí / femella (opcional, però recomanable per connectar la bateria)

Altres subministraments bàsics:

Cola modelable Sugru (es podria utilitzar cinta adhesiva i cola calenta, però m'agrada més)

Cinta adhesiva

Cinta d'escuma de doble cara

Filferro

Eines:

Soldador

Eina rotativa que escolliu (és a dir, Dremel)

Pinça per a mobles

Pas 1: Tallar la bola Magic 8 per la meitat

Talla la bola Magic 8 per la meitat
Talla la bola Magic 8 per la meitat
Talla la bola Magic 8 per la meitat
Talla la bola Magic 8 per la meitat

Primer haureu de dividir la bola màgica 8 per la meitat. Vaig assegurar la meva a una taula de treball amb el costat pla cap avall mitjançant una pinça per a mobles. Utilitzeu un Dremel amb un disc de tall bàsic connectat, talleu al llarg de la costura de la pilota. Haureu de tallar profundament, gairebé fins on el disc de tall ho permetrà. Preneu-lo lent. Fins i tot després d’haver tallat tot el recorregut, potser haureu d’utilitzar un tornavís de cap pla o un cisell per fer la separació final. Hi ha un cilindre que conté el líquid "màgic" i l'icosaedre (de vint cares, sí, ho havia de mirar cap amunt) a l'interior. Simplement llenceu-lo o utilitzeu-lo en algun altre projecte. Si el feu servir en un altre projecte, feu-me saber què heu fet, així sabré què fer amb el meu.

Us quedareu dues meitats tal com es mostra a les imatges. Ho he fet tres vegades ara i, la darrera vegada, el llavi blanc era suau en lloc de tenir crestes, de manera que la pilota pot semblar lleugerament diferent a la de la imatge.

Encara hi haurà una mica d’escòria de plàstic al voltant de la vora exterior (el plàstic fos i endurit). Freneu-ho amb les mans, si podeu; utilitzar una eina corre el risc de ratllar l’acabat de la pilota i l’escòria es desprèn amb força facilitat.

Pas 2: prepareu la pilota

Prepara la pilota
Prepara la pilota
Prepara la pilota
Prepara la pilota
Prepara la pilota
Prepara la pilota

Hi ha dues modificacions que haurem de fer a les meitats de plàstic de la pilota.

Primer, a la meitat oberta, la que té pintat el "8", haurem d'afaitar una àrea prou gran perquè la nostra placa de càrrega USB quedi asseguda amb el port USB que surt. Vaig fer servir el meu Dremel amb un tambor de poliment gruixut. Voleu que sigui tan prim com pugueu sense passar-ho net. A continuació, talleu una obertura petita prou gran per permetre que el port USB pugi cap a l'exterior. Vaig fer servir una pinça per mesurar el port USB, però probablement podríeu observar-ho si ho necessiteu. Una vegada més, he utilitzat el Dremel amb un petit accessori de tall per fer l'obertura. Les dues primeres imatges mostren l'obertura i l'aspecte que té la placa USB al darrere.

En segon lloc, a l’altra meitat, el que té un forat als dos costats i el llavi de plàstic blanc, prepara un lloc perquè la pantalla s’asseu. Just a l’interior de l’obertura on s’instal·larà la pantalla, hi ha nervis de plàstic i una brida de goma (?) A la part interior de l’obertura. Traieu la brida i reserveu-la. Ho tornarem a posar més endavant, però volem que això passi del camí per a aquest pas. La pantalla té una extrusió rectangular a un costat que no permetrà que quedi plana a l’obertura si no s’eliminen algunes d’aquestes carenes. Fent servir de nou el tambor de poliment gruixut al Dremel, afaiteu-los el màxim possible. Entra des del forat on es mostrarà la pantalla per obtenir el millor angle. Hauria d’assemblar-se a les imatges quan estiguin completes. Tingueu en compte que les imatges mostren la pantalla al seu lloc, però encara no l’ADJUNTEU.

Pas 3: prepareu les respostes a la targeta Micro-SD

Aquest pas és una mica més complicat del que es podria pensar. Si no voleu crear la vostra pròpia llista de respostes, aneu al darrer paràgraf d'aquest pas.

La intenció és que puguem donar a la pilota qualsevol llista de cadenes que s’utilitzaran com a possibles respostes i que estaran centrades a la pantalla sense interrupcions enmig de les paraules. No volem fer aquest processament al microcontrolador i volem un fitxer amb mida de registre estàtica per poder trobar qualsevol línia en concret ràpidament.

Tot i que la pantalla és rodona, és funcionalment una pantalla rectangular virtual amb només píxels visibles dins del cercle. La pantalla pot mostrar text de diverses mides, però només fem servir la versió més petita, que té 6 x 8 píxels. Amb aquesta mida, hi ha 315 caràcters que la pantalla pot posar en pantalla (21 caràcters per línia per 15 línies), però només 221 són visibles i cada línia té un nombre diferent de caràcters visibles. Veieu el problema?

Vaig escriure un programa Java per recollir un fitxer de respostes sense formatar i convertir-les en registres totalment centrats que es poguessin mostrar fàcilment al TFT rodó. (enllaç per descarregar el fitxer "FormatToPicksFileFullyCentered.java").

Sense entrar en una explicació de tot el codi, la idea general és que anem cap enrere des del centre (ish) i inserint espais per assegurar-nos que no trenquem paraules entre línies visibles i, a continuació, fem el mateix centre davanter. Finalment, recorrem totes les línies i centrem cada línia dins de les 21 línies completes per crear un registre exactament de 316 bytes (315 caràcters alfanumèrics més un caràcter de línia nova). En realitat, el codi funciona a través de tres tipus de lletra, x 3, x 2 i x 1, per veure quin és el tipus de lletra més gran que es pot utilitzar i que encara s’adapta al text. La centració és una mica desactivada per als tipus de lletra x 2 i x 3, ho sento. Aneu amb compte amb els caràcters que ocupen més d’un byte, ja que poden llançar el fitxer que es genera.

Copieu el fitxer "picks.txt" a la targeta micro-SD.

Si no voleu passar problemes per crear la vostra pròpia llista de seleccions, he inclòs la meva llista de seleccions que només podeu copiar a la targeta SD i utilitzar-les. En aquest moment no he pogut carregar un fitxer.txt a instruccions, així que aquí teniu un enllaç on podeu descarregar el fitxer picks.txt.

Pas 4: pengeu el codi a l'Arduino Mini

Pengeu codi a l'Arduino Mini
Pengeu codi a l'Arduino Mini
Pengeu codi a l'Arduino Mini
Pengeu codi a l'Arduino Mini
Pengeu codi a l'Arduino Mini
Pengeu codi a l'Arduino Mini

En primer lloc, si mai no heu utilitzat l’Arduino Pro Mini, no podeu connectar un cable USB i descarregar-lo; heu d’utilitzar una placa FTDI i connectar els cables als pins adequats del mini. Aquí no donaré cap tutorial sobre això, hi ha moltes coses a la xarxa. Per a mi, no volia soldar un connector permanent a la placa del microcontrolador que només s’utilitzés una vegada per descarregar el codi, així que vaig crear un petit clip que es pot utilitzar per programar el mini sense soldar (veure imatges). Això es va inspirar en productes com Fiddy, però no tinc accés fàcil a una impressora 3D, així que vaig fer el meu amb un clip de patata. Si la gent està interessada, faré una instrucció només per això.

Al codi. Hi ha un parell de parts interessants en aquest codi, però sobretot és senzill.

A la funció de configuració, hi ha una quantitat decent de codi que tracta d’obtenir una bona llavor aleatòria. El mètode típic d’utilitzar la lectura analògica des d’un pin desconnectat no dóna una resposta prou variada a la meva experiència. Obtinc un número entre 477 i 482. Com que la funció aleatòria Arduino té una i només una seqüència i la llavor determina per on començar en aquesta seqüència, un rang tan estret no produirà prou respostes possibles al final. Tingueu en compte que aquest codi comença essencialment cada vegada que la placa Wake-on-shake apaga i torna a engegar-se, de manera que la posició de seqüència inicial determinada per la llavor és crucial. Per ajudar-ho, escric un fitxer molt petit a la targeta SD per fer un seguiment de l’última llavor i l’afegeixo a un valor nou provinent del pin desconnectat.

Un cop seleccionada una selecció a la funció de bucle i llegida en una matriu de caràcters, no podem simplement imprimir tota la cadena. La pantalla té un límit de quant de temps pot suportar una cadena alhora. Per aquest motiu, hem de fer un bucle a través de cadascuna de les quinze línies i enviar-les a la pantalla d'una en una.

Biblioteques externes obligatòries:

Biblioteca ST7687S

Biblioteca de visualització de DFRobot

Pas 5: connecteu els components

Connecteu els components
Connecteu els components
Connecteu els components
Connecteu els components

És hora de fer tota la soldadura de cables. Tendia a equivocar-me de cables lleugerament més llargs del que realment necessitava, però això va acabar funcionant bé.

A l'esquema adjunt, la pantalla TFT es representa mitjançant un connector en lloc d'una imatge de tota la pantalla (per a la qual no he pogut trobar una part Fritzing). He etiquetat els cables / pins segons com s’etiqueten a la peça. De la mateixa manera, la targeta SD no és la que he utilitzat exactament, però he etiquetat els cables / pins de la peça que apareix a la llista.

Hi ha un component que no he soldat junts en aquest pas: la bateria. En el seu lloc, he utilitzat un connector de quatre pins amb els dos pins centrals eliminats (segona imatge). Això em va permetre provar tots els components connectats i desconnectar la bateria mentre ho connectava tot a la pilota.

Finalment, he utilitzat una placa de panell permanent de quart de mida per facilitar l’alimentació i les connexions compartides. Ho veureu a les imatges del muntatge.

Prova que tot funciona

Pas 6: fixeu components a la pilota

Adjunta components a la pilota
Adjunta components a la pilota
Adjunta components a la pilota
Adjunta components a la pilota
Adjunta components a la pilota
Adjunta components a la pilota
Adjunta components a la pilota
Adjunta components a la pilota

Primer poseu la pantalla al seu lloc i utilitzeu Sugru per assegurar-la (dues primeres imatges). No us oblideu de la brida que heu eliminat anteriorment, hauríeu de tornar-la a col·locar abans de fixar la pantalla al seu lloc.

A continuació, vaig gravar el proto-tauler al fons de la meitat buida de la pilota. Vaig mantenir totes les meves soldadures en un costat del tauler, de manera que encara tenia la meitat del tauler que podia gravar. Llavors vaig gravar la bateria a la part superior de la mateixa meitat del tauler proto (tercera imatge).

Les dues meitats ara estan connectades per cables. Esbrineu on acabarà el forat USB quan ajunteu les dues meitats. Si el llavi blanc té les espines enganxades, tingueu en compte que ha de baixar centrat en una de les falques del llavi blanc perquè assegurarem la placa de càrrega USB entre dues de les crestes de plàstic del llavi.

Feu servir una petita peça de cinta d’escuma de doble cara per connectar la placa de càrrega USB. La cinta de doble cara no hauria de cobrir tota la part inferior de la placa de càrrega perquè l'extrem amb els cables connectats penjarà a la vora central del llavi blanc. Per tant, la cinta ha de cobrir aproximadament tres quartes parts de la superfície inferior del tauler. Poseu la cinta a la part inferior del tauler primer i, a continuació, premeu-la al lloc que hàgiu decidit. El connector USB ha d’estar a la vora de la bola, enganxant-se a la zona negra del plàstic sense sortir de la bola. Finalment, utilitzeu una mica més de Sugru a la part superior del tauler i assegureu-los pels dos costats. Això només afegeix força addicional quan s’insereix un cable al port USB.

Introduïu la targeta micro-SD al mòdul de la targeta SD ara

Podeu fixar els altres components al llavi blanc si ho desitgeu. Acabo de col·locar els components restants darrere de la pantalla.

Pas 7: torneu a unir les dues meitats

Torneu a unir les dues meitats
Torneu a unir les dues meitats
Torneu a unir les dues meitats
Torneu a unir les dues meitats

Comproveu que heu inserit la targeta SD i que heu provat tots els components junts.

D’acord, si esteu preparats, prepareu una llarga serp amb una mica de cola Sugru i passeu-la per tota la vora de la meitat de la pilota amb el llavi blanc (primera imatge). La cola s’ha de col·locar just a la unió on s’uneixen les seccions en blanc i negre del plàstic. Si col·loqueu la cola aquí, assegureu-vos que tingueu un fort vincle mentre reduïu al mínim la quantitat de cola que surt de l’esquerda després d’unir les dues meitats.

Premeu les dues meitats juntes assegurant-vos que el port USB s’enganxi pel forat que s’havia tallat prèviament. Utilitzant la pinça per a mobles, fixeu les dues meitats prou ajustades per mantenir les meitats juntes, sense necessitat de fixar-les amb força. La cola Sugru s’endureix en unes 24 hores.

Si teniu una mica de cola que va treure de l’articulació, no dubteu a raspar-la amb el dit o amb un drap / tovallola de paper llisa.

Recomanat: