Sommario:

Magic Answers Ball con Arduino Pro Mini e display TFT: 7 passaggi
Magic Answers Ball con Arduino Pro Mini e display TFT: 7 passaggi

Video: Magic Answers Ball con Arduino Pro Mini e display TFT: 7 passaggi

Video: Magic Answers Ball con Arduino Pro Mini e display TFT: 7 passaggi
Video: Amazing arduino project 2024, Novembre
Anonim
Magic Answers Ball con Arduino Pro Mini e display TFT
Magic Answers Ball con Arduino Pro Mini e display TFT
Magic Answers Ball con Arduino Pro Mini e display TFT
Magic Answers Ball con Arduino Pro Mini e display TFT
Magic Answers Ball con Arduino Pro Mini e display TFT
Magic Answers Ball con Arduino Pro Mini e display TFT

Qualche tempo fa, mia figlia ed io abbiamo smontato una palla Magic 8 in modo che potesse sostituire le venti risposte con quelle di sua scelta. Questo è stato un regalo per una sua amica. Questo mi ha fatto pensare a come farlo su una scala più ampia. Potremmo avere molte più di 20 risposte? Con una versione elettronica possiamo!

Quindi questo descriverà come ho smontato una Mattel Magic 8 Ball (scusa Mattel) e ho usato un display TFT rotondo per mostrare un numero incredibile di risposte aggiuntive (la scheda micro-SD più piccola che ho trovato era di 8 GB, quindi è davvero eccessivo per a cosa serve). La palla utilizza una tavola Wake-on-shake Sparkfun per attivare la risposta e spegnere la palla in seguito per risparmiare la batteria. Una scheda di ricarica viene utilizzata per consentire la ricarica della batteria da una connessione USB.

Forniture

Parti:

Arduino Pro Mini 328 - 3.3V/8MHz

SparkFun Wake on Shake

Batteria agli ioni di litio - 400mAh

Organizer 12 pezzi TP4056 Modulo di ricarica 5V Micro USB 1A 18650 Scheda di ricarica per batteria al litio con modulo caricabatterie di protezione (è necessario solo uno di questi, ma il pacco da 12 costava meno di $ 9)

DAOKI Scheda di archiviazione Micro SD da 5 pezzi (di nuovo, ne hai solo bisogno, ma il pacchetto da 5 era ancora inferiore a $ 9)

Modulo display LCD TFT da 2,2 pollici DFRobot

Kingston 8 GB microSD (potresti averne una vecchia in giro per casa)

PCB per breadboard di dimensioni trimestrali Perma-Proto (puoi anche utilizzare qualsiasi PCB che ti piace)

Magic 8 Ball

FTDI Basic breakout 3.3V (potresti già avere uno di questi se hai fatto un progetto simile con Arduino Pro Mini o una scheda simile)

Custodia a 4 pin con kit connettore cavo Dupont connettore maschio/femmina JST XH da 2,54 mm (opzionale, ma consigliato per il collegamento della batteria)

Altre forniture di base:

Colla modellabile Sugru (potrebbe usare nastro adesivo e colla a caldo, ma mi piace di più)

Nastro adesivo

Nastro biadesivo in schiuma

Filo

Utensili:

Saldatore

Utensile rotante a scelta (es. Dremel)

Morsetto per mobili

Passaggio 1: taglia a metà la pallina magica 8

Taglia a metà la pallina magica 8
Taglia a metà la pallina magica 8
Taglia a metà la pallina magica 8
Taglia a metà la pallina magica 8

Per prima cosa dovrai dividere a metà la Magic 8 Ball. Ho fissato il mio a un tavolo da lavoro con il lato piatto rivolto verso il basso usando un morsetto per mobili. Usando un Dremel con un disco da taglio di base attaccato, tagliare lungo la cucitura della palla. Dovrai tagliare in profondità, più o meno quanto il disco da taglio lo consentirà. Prendila con calma. Anche dopo aver tagliato tutto intorno, potrebbe essere necessario utilizzare un cacciavite a testa piatta o uno scalpello per eseguire la separazione finale. C'è un cilindro che contiene il liquido "magico" e l'icosaedro (forma a venti lati - sì, dovevo cercarlo) all'interno. Basta buttarlo via o usarlo in qualche altro progetto. Se lo usi in un altro progetto, fammi sapere cosa hai fatto così saprò cosa fare con il mio.

Rimarrai con due metà come mostrato nelle immagini. L'ho fatto tre volte e la volta più recente, il labbro bianco era liscio anziché avere creste, quindi la tua palla potrebbe sembrare leggermente diversa da quella nella foto.

Ci saranno ancora delle scorie di plastica attorno al bordo esterno (la plastica fusa e indurita). Frenalo con le mani, se puoi; l'uso di uno strumento corre il rischio di rovinare la finitura della palla e le scorie si staccano abbastanza facilmente.

Passaggio 2: prepara la palla

Prepara la palla
Prepara la palla
Prepara la palla
Prepara la palla
Prepara la palla
Prepara la palla

Ci sono due modifiche che dovremo apportare alle metà di plastica della palla.

Innanzitutto, nella metà aperta, quella su cui è dipinto l'"8", dovremo radere un'area abbastanza grande da consentire alla nostra scheda di ricarica USB di sedersi con la porta USB sporgente. Ho usato il mio Dremel con un rullo di levigatura grosso attaccato. Lo vuoi il più sottile possibile senza passare attraverso. Quindi taglia una piccola apertura abbastanza grande da consentire alla porta USB di entrare all'esterno. Ho usato un calibro per misurare la porta USB, ma probabilmente potresti guardarlo se necessario. Ancora una volta, ho usato il Dremel con un piccolo accessorio da taglio per fare l'apertura. Le prime due immagini mostrano l'apertura e come appare con la scheda USB dietro.

In secondo luogo, nell'altra metà, quella con il foro su ENTRAMBI i lati e il labbro di plastica bianca, prepara un posto per il display. Proprio all'interno dell'apertura dove verrà posizionato il display, ci sono creste di plastica e una flangia di gomma (?) all'interno dell'apertura. Estrarre la flangia e metterla da parte. Lo rimetteremo a posto in seguito, ma lo vogliamo fuori mano per questo passaggio. Il display ha un'estrusione rettangolare su un lato che non gli consentirà di rimanere piatto nell'apertura se alcune di queste creste non vengono rimosse. Usando di nuovo il rullo di levigatura grossolano sul Dremel, raderli il più possibile. Entra dal foro in cui il display sarà per l'angolazione migliore. Dovrebbe apparire come le immagini una volta completato. Nota, le immagini mostrano il display in posizione, ma NON ATTACCARLO ancora.

Passaggio 3: preparare le risposte sulla scheda Micro-SD

Questo passaggio è un po' più complicato di quanto si possa pensare. Se non desideri creare il tuo elenco di risposte, passa all'ultimo paragrafo di questo passaggio.

L'intenzione è che possiamo dare alla palla qualsiasi elenco di stringhe da utilizzare come possibili risposte e saranno centrate sullo schermo senza interruzioni nel mezzo delle parole. Non vogliamo eseguire questa elaborazione sul microcontrollore e vogliamo un file con dimensioni di record statiche per poter trovare rapidamente una riga particolare.

Anche se il display è rotondo, funzionalmente è un display rettangolare virtuale con solo i pixel all'interno del cerchio visibili. Il display può mostrare testo di dimensioni multiple, ma usiamo solo la versione più piccola che è 6 x 8 pixel. Usando questa dimensione, ci sono 315 caratteri che il display può mettere su uno schermo (21 caratteri per riga per 15 righe), ma solo 221 sono visibili e ogni riga ha un diverso numero di caratteri visibili. Vedi il problema?

Ho scritto un programma Java per prendere un file di risposte non formattate e convertirle in record completamente centrati che potrebbero essere facilmente visualizzati sul TFT rotondo. (link per scaricare il file "FormatToPicksFileFullyCentered.java").

Senza entrare in una spiegazione dell'intero codice, l'idea generale è che procediamo a ritroso dal centro (ish) e inseriamo spazi per assicurarci di non spezzare le parole su righe visibili, quindi facciamo la stessa cosa dal centravanti. Infine, eseguiamo il ciclo di tutte le righe e centriamo ciascuna riga all'interno delle righe complete di 21 caratteri per creare un record di esattamente 316 byte (315 caratteri alfanumerici più un carattere di nuova riga). Il codice funziona effettivamente attraverso tre caratteri, x 3, x 2 e x 1 per vedere qual è il carattere più grande che può essere utilizzato e si adatta ancora al testo. Il centraggio è un po' sbagliato per i caratteri x 2 e x 3, mi dispiace. Fai attenzione ai caratteri che occupano più di un byte, questi possono eliminare il file che viene emesso.

Copia il file "picks.txt" sulla scheda micro-SD.

Se non vuoi affrontare il problema di creare il tuo elenco di scelte, ho incluso il mio elenco di scelte che puoi semplicemente copiare sulla scheda SD e utilizzare. Al momento non sono riuscito a caricare un file.txt su instructables, quindi ecco un collegamento da cui è possibile scaricare il file picks.txt.

Passaggio 4: carica il codice su Arduino Mini

Carica il codice su Arduino Mini
Carica il codice su Arduino Mini
Carica il codice su Arduino Mini
Carica il codice su Arduino Mini
Carica il codice su Arduino Mini
Carica il codice su Arduino Mini

Prima di tutto, se non hai mai usato Arduino Pro Mini prima, non puoi semplicemente collegare un cavo USB e scaricare; devi usare una scheda FTDI e collegare i fili ai pin appropriati sul mini. Non darò un tutorial su questo qui, ce ne sono molti sul web. Per quanto mi riguarda, non volevo saldare un connettore permanente sulla scheda del microcontrollore che sarebbe stato utilizzato solo una volta per scaricare il codice, quindi ho creato una piccola clip che può essere utilizzata per programmare il mini senza saldare (vedi foto). Questo è stato ispirato da prodotti come Fiddy, ma non ho un facile accesso a una stampante 3D, quindi ho creato il mio con una clip per patatine. Se le persone sono interessate, farò un istruibile solo per quello.

Al codice. Ci sono un paio di parti interessanti in questo codice, ma è per lo più semplice.

Nella funzione di configurazione, c'è una discreta quantità di codice che si occupa di ottenere un buon seme casuale. Il metodo tipico di utilizzare la lettura analogica da un pin non connesso non fornisce una risposta sufficientemente varia secondo la mia esperienza. Ottengo un numero compreso tra 477 e 482. Poiché la funzione casuale di Arduino ha una e una sola sequenza e il seme determina da dove iniziare in quella sequenza, un intervallo così ristretto non produrrà abbastanza risposte possibili alla fine. Tieni presente che questo codice essenzialmente ricomincia da capo ogni volta che la scheda Wake-on-shake spegne e riaccende l'alimentazione, quindi la posizione della sequenza iniziale determinata dal seme è cruciale. Per aiutare con questo, scrivo un file molto piccolo sulla scheda SD per tenere traccia dell'ultimo seme e lo aggiungo a un nuovo valore proveniente dal pin non connesso.

Una volta che un pick è selezionato nella funzione loop e letto in un array di caratteri, non possiamo semplicemente stampare l'intera stringa. Il display ha un limite alla lunghezza di una stringa che può gestire alla volta. Per questo motivo, dobbiamo scorrere ciascuna delle quindici righe e inviarle al display una alla volta.

Librerie esterne richieste:

Libreria ST7687S

Libreria di visualizzazione di DFRobot

Passaggio 5: collegare i componenti

Collegare i componenti
Collegare i componenti
Collegare i componenti
Collegare i componenti

È ora di fare tutte le saldature dei fili. Tendevo a sbagliare sul lato di fili leggermente più lunghi di quanto mi servisse veramente, ma alla fine ha funzionato bene.

Nello schema allegato, il display TFT è rappresentato da un connettore anziché da un'immagine dell'intero display (per cui non sono riuscito a trovare una parte Fritzing). Ho etichettato i fili/pin in base a come sono etichettati sulla parte. Allo stesso modo, la scheda SD non è esattamente quella che ho usato, ma ho etichettato i fili/pin per la parte elencata.

C'è un componente che non ho saldato insieme in questo passaggio: la batteria. Invece, ho usato un connettore a quattro pin con i due pin centrali rimossi (seconda immagine). Questo mi ha permesso di testare tutti i componenti cablati insieme e quindi scollegare la batteria mentre attaccavo tutto alla palla.

Infine, ho utilizzato un PCB breadboard permanente di dimensioni ridotte per semplificare l'alimentazione e le connessioni condivise. Lo vedrai nelle immagini del montaggio.

Verifica che tutto funzioni

Passaggio 6: collegare i componenti alla palla

Attacca i componenti alla palla
Attacca i componenti alla palla
Attacca i componenti alla palla
Attacca i componenti alla palla
Attacca i componenti alla palla
Attacca i componenti alla palla
Attacca i componenti alla palla
Attacca i componenti alla palla

Per prima cosa metti il display in posizione e usa un po' di Sugru per fissarlo (prime due immagini). Non dimenticare la flangia che hai rimosso in precedenza, dovresti rimetterla al suo posto prima di fissare il display in posizione.

Successivamente, ho fissato il proto-board nella parte inferiore della metà vuota della palla. Ho tenuto tutte le mie saldature su un lato della scheda, quindi avevo ancora metà della scheda su cui poterle fissare. Ho quindi fissato la batteria sopra quella stessa metà della scheda proto (terza immagine).

Entrambe le metà sono ora collegate da fili. Scopri dove andrà a finire il foro USB quando metti insieme le due metà. Se il labbro bianco ha le spine sporgenti, tieni presente che deve scendere al centro di uno dei cunei del labbro bianco perché fisseremo la scheda di ricarica USB tra due delle creste di plastica sul labbro.

Usando un piccolo pezzo di nastro biadesivo in schiuma, attacca la scheda di ricarica USB. Il nastro biadesivo non deve coprire tutta la parte inferiore della scheda di ricarica perché l'estremità con i fili attaccati penderà dal bordo centrale del bordo bianco. Quindi il nastro dovrebbe coprire circa tre quarti della superficie inferiore della tavola. Metti prima il nastro sul fondo del tabellone, quindi premilo nel punto che hai deciso. Il connettore USB dovrebbe trovarsi sul bordo della palla, attaccandosi all'area nera della plastica senza uscire dalla palla. Infine, usa altro Sugru sulla parte superiore del tabellone e fissalo su entrambi i lati. Questo aggiunge solo ulteriore forza per quando un cavo viene inserito nella porta USB.

Inserisci ora la scheda micro-SD nel modulo della scheda SD

Se lo desideri, puoi fissare gli altri componenti al labbro bianco. Ho appena nascosto i componenti rimanenti dietro il display.

Passaggio 7: rimetti insieme le due metà

Rimetti insieme le due metà
Rimetti insieme le due metà
Rimetti insieme le due metà
Rimetti insieme le due metà

Ricontrolla di aver inserito la scheda SD e di aver testato tutti i componenti insieme.

Ok, se sei pronto, crea un lungo serpente con della colla Sugru e fallo scorrere lungo il bordo della metà della palla con il labbro bianco (prima foto). La colla dovrebbe essere posata proprio sulla giunzione dove le sezioni bianche e nere della plastica si uniscono. Mettere la colla qui ti assicura di avere un forte legame riducendo al minimo la quantità di colla che fuoriesce dalla fessura dopo che le due metà sono state unite.

Premi le due metà insieme assicurandoti che la porta USB si inserisca nel foro precedentemente praticato. Usando il morsetto per mobili, fissa le due metà insieme quanto basta per tenere insieme le metà, non è necessario bloccarle con forza. La colla Sugru si indurirà in circa 24 ore.

Se hai della colla che è uscita dalla giuntura, sentiti libero di grattarla via con un dito o con un panno liscio o un tovagliolo di carta.

Consigliato: