Sommario:

Orologio cubo multifunzione basato sulla posizione: 5 passaggi (con immagini)
Orologio cubo multifunzione basato sulla posizione: 5 passaggi (con immagini)

Video: Orologio cubo multifunzione basato sulla posizione: 5 passaggi (con immagini)

Video: Orologio cubo multifunzione basato sulla posizione: 5 passaggi (con immagini)
Video: IL RE DEI RUGGED PHONE - CUBOT KINGKONG 9 Recensione 2024, Dicembre
Anonim
Image
Image
Orologio cubo multifunzione basato sulla posizione
Orologio cubo multifunzione basato sulla posizione
Orologio cubo multifunzione basato sulla posizione
Orologio cubo multifunzione basato sulla posizione

Progetti Fusion 360 »

Questo è un orologio basato su Arduino dotato di un display OLED che funziona come orologio con la data, come timer per il pisolino e come luce notturna. Le diverse "funzioni" sono controllate da un accelerometro e vengono selezionate ruotando l'orologio a cubo.

Volevo un nuovo orologio da comodino, ma non volevo spendere soldi per un orologio elegante che aveva tonnellate di funzioni che non avrei usato. Inoltre, stavo raccogliendo componenti e sensori che erano in giro, quindi ho deciso di usarli per creare il mio orologio!

Avevo alcuni obiettivi per questo progetto:

  1. Visualizza quell'ora con un'opzione da disattivare
  2. Includi una funzione di luce notturna
  3. Include un timer per un pisolino di 15 minuti con sveglia
  4. Essere in grado di visualizzare la data

Forniture

  • Arduino Pro Mini 5V
  • Accelerometro a 3 assi ADXL335
  • DS3231 AT24C32 Precisione IIC Orologio in tempo reale
  • Mini altoparlante
  • Display OLED SSD1306 IIC 0,96 pollici
  • Alimentazione 5V CC
  • LED x 2
  • Resistori 220ohm x 2
  • Presa a barilotto CC
  • Filo
  • Utensili

    • Tagliafili/spelafili
    • Saldatore/saldatore
    • Stampante 3D (opzionale)
    • Programmatore FTDI per interfacciare Pro mini e Arduino IDE

Passaggio 1: prototipazione e test del circuito

Prototipa e testa il circuito
Prototipa e testa il circuito
Prototipa e testa il circuito
Prototipa e testa il circuito
Prototipa e testa il circuito
Prototipa e testa il circuito

Collega i componenti ad Arduino. Il layout o lo schema della breadboard sono mostrati sopra. L'RTC e l'OLED utilizzano il protocollo I2C per interfacciarsi con Arduino e utilizzano i pin A4 e A5. L'accelerometro utilizza 3 pin analogici. Ho usato A0, A1, A2. I LED e Piezo possono utilizzare qualsiasi pin digitale, ho usato rispettivamente 4 e 8.

Interfaccia con ogni componente. Ho dovuto installare alcune librerie Arduino per interfacciarmi con ogni componente. Sono mostrati nell'immagine sopra.

Codice utilizzando l'IDE Arduino. Ho setacciato alcuni schizzi di esempio forniti da ciascuna libreria per capire la sintassi corretta per ogni componente in base a ciò che volevo che facessero. Ho ideato uno schizzo per ogni componente per testarli individualmente. Sono forniti di seguito. Ho iniziato con l'altoparlante piezo perché era il più semplice. In realtà non aveva bisogno di una libreria speciale, solo di una funzione specifica che imposta la frequenza e il suono. Far funzionare i LED richiedeva solo di tirare uno dei pin digitali in alto e in basso. Successivamente, sono passato all'OLED e anche questo è stato abbastanza semplice da configurare. Lo schizzo qui sotto è una demo di Adafruit che passa attraverso tutte le animazioni/testi che possono essere visualizzati. Poi, ho provato a far funzionare l'RTC. Lo schizzo che ho fornito faceva parte di un esempio nella libreria che ottiene l'ora corrente e la stampa sul monitor seriale. Infine, ho usato l'esempio fornito per testare l'accelerometro. Le uscite di ogni asse sono stampate sul monitor seriale.

È ora di mettere tutto insieme!

Passaggio 2: programma principale

Programma principale
Programma principale
Programma principale
Programma principale

Ora che so che tutto funziona individualmente, posso iniziare a creare un programma che riunisca tutto. Discuterò il mio processo per scrivere il programma di seguito, ma sentiti libero di scaricare semplicemente il codice completo di seguito da utilizzare per il tuo progetto. Ho provato a lasciare commenti specifici in modo che tu possa esaminare il codice da solo.

Avevo bisogno di visualizzare l'ora e la data sull'OLED, il che era abbastanza semplice. Ho solo dovuto stampare l'ora corrente sul display anziché sul monitor seriale. C'erano alcune cose di formattazione di cui dovevo tenere conto per far sì che mostrasse un formato di 12 ore anziché 24 e aggiungere/rimuovere gli 0 dove erano appropriati. La data era simile con l'aggiunta della visualizzazione del mese e del giorno all'interno di rettangoli disegnati sullo schermo. Ho usato un ciclo FOR nidificato per creare il timer e attivare il piezo dopo la fine del ciclo. Ho deciso di far lampeggiare lo schermo mentre suonava il cicalino, che era un'animazione di base presa dalla demo di Adafruit. Ho fatto girare il cubo nella posizione dell'orologio l'unico modo per spegnere il cicalino. Infine, volevo un modo per spegnere lo schermo che è stato realizzato semplicemente cancellando il display. Ora, avevo bisogno che tutte queste funzioni funzionassero in base alle uscite dell'accelerometro. Ho usato lo script Accel_Test per determinare le coordinate degli assi di ogni posizione che volevo che ogni funzione eseguisse. Ho spostato manualmente il chip dell'accelerometro e registrato le letture sul monitor seriale. Il diagramma sopra fornisce le coordinate di output di ciascuna posizione in GRIGIO. Le coordinate in ROSSO sono i confini tra ogni posizione e ho usato quei numeri per il mio programma. Nelle 4 posizioni di visualizzazione sono necessarie solo le coordinate degli assi X e Y. La quinta posizione per la luce notturna utilizza l'asse Z. Ho usato semplici istruzioni IF per le posizioni dell'accelerometro prima di ogni blocco funzione. Se utilizzi un accelerometro diverso, queste coordinate possono variare e dovranno essere regolate nel programma.

Passaggio 3: stampa 3D del cubo

Stampa 3D del cubo
Stampa 3D del cubo
Stampa 3D del cubo
Stampa 3D del cubo
Stampa 3D del cubo
Stampa 3D del cubo

Ho pensato che un cubo sarebbe stato il miglior design per adattarsi al modo in cui volevo che funzionasse l'orologio. Ho usato fusion360 per realizzare il modello. Avevo bisogno di un ritaglio per l'OLED e il jack a botte. Volevo anche un facile accesso per sostituire la batteria delle celle nell'RTC dopo che tutto era stato cablato. Avevo bisogno di uno slot per mantenere l'Arduino in un orientamento che sarebbe stato facile riprogrammare se necessario. Inoltre, la custodia doveva essere facilmente rimovibile in modo da poter accedere ad Arduino. Puoi vedere il modello CAD sopra e i file STL sono sotto.

Ho stampato il corpo in PLA nero con riempimento del 20%, risoluzione di 0,2 mm.

La custodia o la custodia è stata stampata in filamento flessibile Solutech con riempimento al 100%, risoluzione di 0,3 mm. Ho usato questo materiale perché ha una certa flessibilità che ha reso facile allungare sul corpo. Ha anche una sensazione più morbida quando si ruota l'orologio. Infine, ho scelto un filamento trasparente in modo che i LED per le luci notturne risplendessero.

Passaggio 4: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea

Ho collegato tutto insieme usando lo schema del passaggio 1. Ho usato un piccolo pezzo di perfboard per collegare tutti i fili comuni in modo da non dover saldare più fili a un pin su Arduino. La colla a caldo è stata utilizzata per fissare tutto al proprio posto tranne l'Arduino. È stato appena inserito nel suo slot designato. Mi sono assicurato che la scheda dell'accelerometro fosse perpendicolare e livellata sul fondo del corpo in modo che le coordinate nel codice non dovessero essere modificate.

Passaggio 5: carica e il gioco è fatto

Carica e il gioco è fatto!
Carica e il gioco è fatto!
Carica e il gioco è fatto!
Carica e il gioco è fatto!
Carica e il gioco è fatto!
Carica e il gioco è fatto!
Carica e il gioco è fatto!
Carica e il gioco è fatto!

Ora il programma finale può essere caricato sull'orologio per impostare l'ora corretta. La batteria delle celle dovrebbe mantenere l'ora anche quando l'alimentazione è scollegata. Fai scorrere la manica stampata in 3D sul corpo per nascondere tutti i componenti e hai un orologio a cubo completo!

Spero che ti diverta a realizzare questo progetto e che lo trovi utile quanto me. La parte bella di questo progetto è che è molto personalizzabile. Sentiti libero di aggiungere le tue diverse funzioni come una funzione di sveglia, usa componenti diversi come un OLED più grande, un ricevitore radio FM, ecc. Buon divertimento!

Consigliato: