Sommario:

Electronic Magic 8 Sfera e bulbo oculare: 11 passaggi (con immagini)
Electronic Magic 8 Sfera e bulbo oculare: 11 passaggi (con immagini)

Video: Electronic Magic 8 Sfera e bulbo oculare: 11 passaggi (con immagini)

Video: Electronic Magic 8 Sfera e bulbo oculare: 11 passaggi (con immagini)
Video: Bruttissimo incidente 2024, Dicembre
Anonim
Image
Image
Electronic Magic 8 sfera e bulbo oculare
Electronic Magic 8 sfera e bulbo oculare
Electronic Magic 8 sfera e bulbo oculare
Electronic Magic 8 sfera e bulbo oculare

Volevo creare una versione digitale della Magic 8 Ball…

Il corpo di questo è stampato in 3D e il display è stato cambiato da un poliedro in colorante blu a un piccolo OLED controllato da un generatore di numeri casuali programmato in un Arduino NANO.

Poi ho fatto un po' di tangente e ho creato un altro guscio, questo è un occhio azzurro ghiaccio che ti guarda dritto nell'anima…

ATTENZIONE: alla fine ho usato gli interruttori di inclinazione al mercurio per la mia costruzione finale. Se questo è destinato a essere usato come un giocattolo, dovresti semplicemente seguire il piano originale delineato qui. Il mercurio ha una tossicità nota. Il secondo video mostra chiaramente perché l'ho fatto!

Tutti i miei interruttori al mercurio sono stati recuperati da vecchi termostati domestici destinati alla discarica, ora sono in buone mani…

AGGIORNAMENTO 12 aprile 2019!!!: ho incluso un modo molto più semplice per alimentare ed eseguire questo progetto. Ho anche incluso un codice ridotto che mostra solo il consiglio. Tutto è rivelato nel passaggio 10.

Passaggio 1: la palla 8

La palla 8
La palla 8
La palla 8
La palla 8
La palla 8
La palla 8

Ho creato una sfera cava da 100 mm in Solidworks

Non volevo alcuna cucitura di giunzione lungo l'equatore della sfera, quindi le sezioni superiore e inferiore sono state ritagliate lasciando un foro di 50 mm nella parte superiore e un foro di 56 mm nella parte inferiore.

Dato che non volevo mostrare alcun elemento di fissaggio, ho quindi fatto un taglio di 57 mm di 1 mm di profondità all'esterno del foro inferiore e ho aggiunto due aste di diametro di 4 mm che fuoriescono perpendicolarmente nel foro di circa 4 mm di lunghezza.

Il tappo del foro superiore è stato modellato invertendo la sezione ritagliata iniziale per il foro superiore. Un ulteriore anello da 2 mm è stato aggiunto alla curva interna della spina, quindi il tutto è stato reso solido.

Dall'alto ho disegnato un grande numero 8 e questo contorno è stato ritagliato dalla copertina superiore. Questo a sua volta è stato utilizzato per creare un pezzo numero 8.

Passaggio 2: porta di accesso alla finestra

Porta di accesso alla finestra
Porta di accesso alla finestra
Porta di accesso alla finestra
Porta di accesso alla finestra
Porta di accesso alla finestra
Porta di accesso alla finestra

Questa parte contiene tutta l'elettronica e il funzionamento interno. È anche pensato per essere il punto di accesso per cambiare le batterie.

Volevo che non fossero visibili elementi di fissaggio su questo, quindi ho fatto l'apertura di una vite in un pezzo che ruota di circa 36 gradi e si blocca in posizione..

C'è una porta di circa 1 pollice di diametro nel mezzo del pezzo che consente di visualizzare il consiglio.

All'interno della porta c'è un'area ritagliata quadrata che ha lo scopo di ospitare un pezzo di plastica o vetro spesso 2 mm.

Questa finestra viene utilizzata su tutte le dimensioni di questo giocattolo.

sono necessari anche due componenti electronicsBrace e uno per ElectronicsTray e nanoTray.

Passaggio 3: stampa e assemblaggio

Stampa e assembla
Stampa e assembla
Stampa e assembla
Stampa e assembla
Stampa e assembla
Stampa e assembla
Stampa e assembla
Stampa e assembla

La palla e il numero sono stati stampati utilizzando ABS nero. Mentre la copertina superiore è stata stampata utilizzando ABS naturale. Ho provato l'ABS bianco ma sembrava troppo rigido.

Il numero 8 è inserito a pressione nel tappo superiore.

Il tappo superiore è abbastanza piccolo da entrare all'interno della palla attraverso l'apertura inferiore.

Questo è un accoppiamento ad attrito ma è anche tenuto in posizione con adesivo ABS.

Ero un po' preoccupato per il montaggio di tutte le parti all'interno, quindi sono andato avanti e ne ho creata un'altra, questa volta con un diametro di 120 mm.

Passaggio 4: l'occhio

L'occhio
L'occhio
L'occhio
L'occhio
L'occhio
L'occhio

Ho rimosso il ritaglio superiore nei modelli 3D e stampato entrambe le sfere in ABS naturale, quindi ho stampato la porta di accesso alla finestra in ABS blu.

Dà un ragionevole facsimile di un bulbo oculare quando lo si guarda dritto.

Mi piace questa versione più dell'8Ball originale.

Passaggio 5: l'elettronica

L'elettronica
L'elettronica
L'elettronica
L'elettronica
L'elettronica
L'elettronica

Lo spazio era un vincolo come lo era l'apparenza.

Non dovevano esserci sporgenze esterne o ostacoli all'estetica.

Il giocattolo viene acceso e interagito con il movimento.

Il giocattolo parte da spento finché non viene capovolto.

Invece di un interruttore a pulsante ho usato un interruttore a inclinazione.

In precedenza ho usato un MOSFET per controllare l'alimentazione al microcontrollore. Questo tuttavia non era l'ideale poiché consentiva a una piccola quantità di corrente di alimentare continuamente il microcontrollore, uccidendo così la batteria in circa un mese circa.

In questo caso ho usato un piccolo relè come quello che ho usato nel mio progetto di unità USB cryptex.

Lo schema incluso mostra il cablaggio necessario per far funzionare l'hardware.

L'interruttore di inclinazione.

Il relè. Ho usato una bobina da 6 V poiché la tensione della batteria è di 6 V e ciò richiedeva un circuito di pilotaggio per il relè che fosse commutato da un semplice transistor NPN.

Modulo OLED Waveshare 128 X 128 di Amazon.

Passaggio 6: il programma

Image
Image

Volevo che le risposte fossero quelle del giocattolo originale. Ho usato Wikipedia per questo.

Il modulo è di tipo SSD1327 e c'è una libreria di codice molto robusta per questi LCD.

I tentativi iniziali di utilizzare questo codice hanno avuto esito negativo poiché l'utilizzo della memoria era eccessivo.

Una soluzione semplice consisteva nell'utilizzare il codice ridotto fornito dal produttore.

Ho cancellato la maggior parte dell'esempio e ho usato frammenti del codice originale per visualizzare le informazioni necessarie.

Il programma funziona come segue:

La palla ferma è in stato di spegnimento.

Invertire la palla e guardare la finestra è lo stato di accensione originale.

Una volta che Arduino si avvia e visualizza le istruzioni "Fai la tua domanda e poi inverti". Il programma prende il sopravvento e fornisce alimentazione ad Arduino attraverso il relè controllato dal programma.

Le istruzioni rimangono visibili fino a quando il giocattolo non viene girato con il lato rivolto verso l'alto, questo disattiva l'interruttore di inclinazione e il programma avanza in modalità pensiero. La lettura mostra "Thinking…" in modo che tu sappia che è ancora attivo.

La palla viene quindi invertita di nuovo in modo che la finestra sia in posizione verticale.

Questa azione viene letta dall'interruttore di inclinazione meccanico acceso e il programma genererà una risposta casuale in un secondo della finestra orientata verso l'alto.

Il messaggio rimane visibile finché il giocattolo non viene girato con la palla rivolta verso l'alto.

Questo processo continua fino a quando la palla non viene posizionata con la finestra rivolta verso il basso per più di 16 secondi, dove il programma disattiverà il relè e spegnerà l'alimentazione.

NOTE CRITICHE su questo programma sono nella random(); funzione.

Stavo riscontrando problemi con la visualizzazione delle stesse risposte, l'ho persino testato con entrambi i dispositivi contemporaneamente e ho scoperto che sì, erano uguali.

È fondamentale utilizzare randomSeed(analogRead(0)); routine. La spiegazione può essere trovata QUI:

Passaggio 7: assemblaggio di finestre ed elettronica

Montaggio di finestre ed elettronica
Montaggio di finestre ed elettronica
Montaggio di finestre ed elettronica
Montaggio di finestre ed elettronica
Montaggio di finestre ed elettronica
Montaggio di finestre ed elettronica

Ci sono cinque parti stampate in questo assieme che compongono una finestra, un portabatterie e un coperchio.

Il primo è il componente visibile che ha supporti per l'OLED e il secondo è la batteria e il supporto del controller che si attacca ai distanziatori della finestra VIA.

Ho usato un piccolo pezzo di vetro tagliato per la finestra. Questo è stato incollato in posizione con adesivo di tipo ciano. Avevo della gommapiuma con adesivo su un lato, questa è stata tagliata in piccole strisce e posizionata attorno al vetro all'interno del gruppo finestra.

Ci sono 4 fori per le viti intorno alla finestra. questi sono spaziati per il modulo che avevo scelto. Questi hanno 4-40 inserti heatset installati utilizzando un saldatore.

Con il modulo in posizione, vengono utilizzati distanziatori da 1/4 di pollice per fissarlo.

Sono stato fortunato quando sono arrivati i componenti, il supporto della batteria si inserisce all'interno dell'apertura, il che significa che non ho dovuto posizionarlo in verticale. Ciò significa che la palla di dimensioni più piccole funzionerà bene.

La base dell'alloggiamento dell'elettronica porta il portabatterie e ha 2 aperture, una per il relè e una per l'interruttore di inclinazione.

Il coperchio ha 3 parti che si incastrano tra loro e fissano saldamente le batterie e fornisce una superficie piana su cui attaccare il modulo NANO.

Queste 2 parti vengono quindi avvitate ai 4 distanziatori sul retro del modulo VECCHIO.

CON CAUTELA! Ho finito per sostituire l'interruttore di inclinazione con un interruttore a mercurio. Questo ha prodotto un funzionamento più affidabile.

Passaggio 8: adattamento dell'interferenza

Adattamento ad interferenza
Adattamento ad interferenza
Adattamento ad interferenza
Adattamento ad interferenza

L'assemblaggio della finestra quando sarà completato sarà molto aderente attraverso il ritaglio sul fondo della palla.

Quando si inserisce l'assieme finale della finestra nella sfera potrebbe esserci qualche interferenza

Se ciò accade, potrebbe essere necessario tagliare il labbro interno per il supporto della finestra nella sfera come mostrato.

Passaggio 9: file aggiuntivi

File aggiuntivi
File aggiuntivi

Questi sono i file a sfera di grandi dimensioni da 120 mm di diametro

Passaggio 10: AGGIORNAMENTO

AGGIORNARE!
AGGIORNARE!
AGGIORNARE!
AGGIORNARE!
AGGIORNARE!
AGGIORNARE!
AGGIORNARE!
AGGIORNARE!

Ho completato il codice ridotto in modo che questa palla abbia un funzionamento simile all'originale.

Ora, quando lo capovolgi, ci vogliono circa 4 secondi prima che il programma si avvii e visualizzi il consiglio.

Questo tipo di operazione è possibile anche con una build hardware più semplice.

Si potrebbero eliminare tutte le parti di potenza del circuito e il Driving D2 digitale non sarebbe affatto necessario.

L'interruttore di inclinazione potrebbe alimentare un transistor di commutazione che fornisce alimentazione all'ingresso di alimentazione Raw sulla scheda.

Ho lasciato i componenti al loro posto per questa modifica.

Se si modifica il circuito, la dichiarazione del programma di powPin e tutte le parti successive relative a questo potrebbero essere rimosse dal programma.

Se il circuito originale è stato costruito e si desidera utilizzare il codice senza alimentazione. Dovrebbe ancora funzionare mentre l'interruttore di inclinazione accende il microcontrollore.

In questa modalità occorrono sempre circa 4 secondi prima che il programma si avvii e poi visualizzi il consiglio.

Rimuovendo il pin di input, è possibile semplificarlo ancora di più. Non ho ancora provato questa modalità ma dovrebbe funzionare lo stesso. Assicurati di rimuovere qualsiasi riferimento alla lettura dell'input dal programma.

Se utilizzo questo tipo di sensore di inclinazione ho incluso un nuovo supporto per il portabatterie

Passaggio 11: file aggiuntivi

File aggiuntivi
File aggiuntivi

Questi sono i file OLED dal sito Web di Waveshare…

Concorso Arduino 2019
Concorso Arduino 2019
Concorso Arduino 2019
Concorso Arduino 2019

Secondo classificato all'Arduino Contest 2019

Consigliato: