Sommario:

Orologio Infinito Controllato da Smartphone: 5 Passi (con Immagini)
Orologio Infinito Controllato da Smartphone: 5 Passi (con Immagini)

Video: Orologio Infinito Controllato da Smartphone: 5 Passi (con Immagini)

Video: Orologio Infinito Controllato da Smartphone: 5 Passi (con Immagini)
Video: SAMSUNG Galaxy WATCH 5: ora so quale smartwatch comprare 2024, Dicembre
Anonim
Image
Image
Orologio infinito controllato da smartphone
Orologio infinito controllato da smartphone
Orologio infinito controllato da smartphone
Orologio infinito controllato da smartphone

Ho visto molti progetti di Infinity Mirrors e Infinity Clocks su Instructables, quindi ho deciso di fare il mio. Potrebbe non essere molto diverso dagli altri… ma l'ho fatto io stesso, quindi è!

Immagine
Immagine

Nel caso non lo sapessi già:

Cos'è un orologio infinito?

Un orologio infinito utilizza riflessi multipli tra uno specchio e uno specchio semiriflettente per dare l'illusione di una grande profondità mentre è profondo solo un centimetro!

Il tempo è indicato da LED che riflettono molte volte tra queste interfacce e danno questa impressione di profondità.

Immagine
Immagine

Le riflessioni multiple danno l'impressione di profondità

I LED sono indirizzabili e multicolori, quindi è facile utilizzarli per realizzare animazioni luminose.

Volevo renderlo interattivo e mutevole, quindi ho aggiunto un controllo per smartphone utilizzando la comunicazione Bluetooth. C'è una vera comunicazione a due vie tra l'orologio e lo smartphone. L'utente può utilizzare l'HMI (Human Machine Interface) per modificare i vari parametri, come animazioni, colori. Ma può anche inviare comandi diretti, ad esempio, per cambiare l'ora, e l'orologio risponde per dire che il comando è accettato o meno.

L'HMI è stato realizzato utilizzando un'app Android programmabile, quindi ho dovuto solo progettarlo e codificare la comunicazione sul lato Arduino.

Immagine
Immagine

Cominciamo ora…

Passaggio 1: di cosa hai bisogno?

Di che cosa hai bisogno?
Di che cosa hai bisogno?
Di che cosa hai bisogno?
Di che cosa hai bisogno?
Di che cosa hai bisogno?
Di che cosa hai bisogno?
Di che cosa hai bisogno?
Di che cosa hai bisogno?

Per costruire questo orologio infinito, ecco cosa ti serve (i prezzi sono indicativi):

  • Un Arduino nano (2 USD)
  • Una striscia led indirizzabile, come i led WS2812, 60 led per metro (6 USD)
  • Un modulo bluetooth, come l'HC-05 (3 USD)
  • Una breadboard (1,5 USD)
  • Un'alimentazione a 5V, in grado di fornire 4A o più
  • Qualche filo elettrico
  • Uno smartphone con Android e l'app Bluetooth Electronics di KeuwlSoft
  • Alcuni pezzi di pannelli di fibra a media densità (MDF, uno spessore 3 mm e uno spessore 10 mm)
  • Una lastra di plexiglas o perspex trasparente (circa 15-20 USD)
  • Pellicole adesive specchio e uno specchio semiriflettente (da 4 a 15 USD)
  • Connettori, resistori e una capacità di 1000µF
  • Un po' di colla e nastro adesivo.
Immagine
Immagine

Schema di principio della geometria dell'orologio

La piastra in plexi deve avere uno spessore di 2-3 mm in modo che rimanga saldamente in posizione durante l'uso.

Il diagramma sopra spiega la geometria dell'orologio. La striscia led è posizionata tra i due specchi. Naturalmente, hai bisogno di 60 di quei led sulla striscia. Puoi trovare strisce led online con 60 led al metro, quindi una di queste è buona. Quindi il perimetro del cerchio led è 1 m, il suo diametro è 100/PI = 31,8 cm (circa 12,53 pollici).

Prepara i tuoi componenti

Taglia un cerchio di questo diametro nel pannello MDF da 3 mm. Per fare questo, sono andato al fablab locale e ho chiesto di usare il laser cutter. Possono farlo anche per te, se chiedi gentilmente e vieni con la lavagna: bastano pochi secondi. Già che ci sei, taglia lo stesso disco nella tua lastra di plexiglass.

Dalla piastra in MDF, ora hai un disco e la piastra con il foro circolare. Conservali entrambi per dopo.

Per mantenere i LED in posizione, tagliare anche nell'MDF di 1 cm di spessore un cilindro sottile dello stesso diametro. Lo spessore non è importante purché non sia troppo fragile. La striscia LED verrà posizionata all'interno di questo cilindro, quindi è importante che il perimetro interno sia uguale alla lunghezza della striscia. Troppo lungo o troppo corto e alcuni LED potrebbero essere distanziati in modo irregolare, quindi sii molto preciso qui.

Il taglio di un piatto così spesso potrebbe richiedere un po' più di tempo rispetto al taglio di quello sottile. Chiedi al proprietario del fablab se il suo laser cutter è abbastanza potente da tagliare quello spessore. Per me il laser ha dovuto passare più di dieci volte per quella parte, rispetto alle sole due per l'altra lastra.

Puoi anche…

È anche possibile utilizzare qui pannelli in plexiglass trasparente o colorato al posto dell'MDF. Il plexiglas esiste in vari colori, dal nero al giallo al verde e al viola, quindi non esitate a provarli.

Immagine
Immagine

Il fablab sa come tagliarli, e il taglio del plexiglass è molto "pulito" rispetto al legno che può "bruciare" (intendo cambiare colore a causa dell'energia laser) al percorso del laser. Esiste anche il plexiglass a specchio, che può salvarti dall'acquisto della pellicola a specchio. Ricorda solo mentre lo tagli, di inviare il laser sul lato posteriore dello specchio…

Di seguito sono riportati i file di geometria per il taglio laser.

Passaggio 2: assemblare l'orologio

Assemblare l'orologio
Assemblare l'orologio
Assemblare l'orologio
Assemblare l'orologio
Assemblare l'orologio
Assemblare l'orologio
Assemblare l'orologio
Assemblare l'orologio

Per realizzare l'orologio, devi solo assemblare le parti, secondo lo schema.

Prepara il caso

Per prima cosa, incolla la pellicola a specchio sul disco MDF. Sarà il fondo dell'orologio.

In secondo luogo, incollare la pellicola semitrasparente sul disco di plexiglas. Questo costituisce il vetro anteriore dell'orologio. Questo disco andrà inserito nella lastra in MDF, nel foro del cerchio: incollalo usando la colla per legno se necessario, oppure usa la gomma siliconica.

Infine, prepara i LED. I LED WS2812 utilizzano 3 pad di connessione: alimentazione, massa e comando. Se ci sono già 3 fili elettrici collegati, usali e basta. Altrimenti saldare 3 fili ai pad di connessione. Ricorda che i LED sono dispositivi polarizzati: questo significa che la corrente scorre in una sola direzione. Questa direzione è indicata sulla striscia con una freccia. Quindi, dovresti saldare i fili all'estremità della striscia da cui provengono le frecce (non l'estremità a cui puntano le frecce).

Attaccare i LED all'interno del cilindro in MDF spesso e assemblare le 3 parti, con colla e/o nastro adesivo.

Immagine
Immagine

Poi la parte elettronica

Metti Arduino nella breadboard e crea il circuito come mostrato sopra. Assicurati che tutte le masse (GND) siano collegate (GND da Arduino, modulo HC-05, striscia LED e alimentazione).

  • I pin RX e TX del modulo Bluetooth HC-05 sono collegati ai pin D3 e D2 dell'Arduino
  • La linea dati della striscia LED è collegata al pin D12, puoi inserire una resistenza da 300 Ohm in mezzo se ne hai una.

Se vuoi cambiare i pin, cambia le loro definizioni nel codice di conseguenza (righe 7 e 13 del file ino).

Notare che il modulo HC-05 richiede un partitore di tensione per il suo pin RX, come mostrato di seguito. Quindi hai bisogno di un resistore da 1000 Ohm e uno da 2000 Ohm.

Immagine
Immagine

La fornitura viene utilizzata sia per Arduino che per la striscia LED. Collegare prima il condensatore da 1000µF in un morsetto a vite (domino). Puoi usare il connettore rapido se ne hai. Vedi qui per maggiori dettagli.

Immagine
Immagine

Questo condensatore può anche essere polarizzato: assicurarsi che i piedini + e - siano collegati al + e - dell'alimentazione. Come si può vedere dall'immagine del condensatore, la gamba - è etichettata con un grande segno meno.

Immagine
Immagine

Quindi dal connettore, collegare i cavi elettrici per collegare la striscia LED e la scheda Arduino. Come detto sopra, tutti i GND dovrebbero essere collegati insieme. Dal potenziale positivo dell'alimentazione, collega il filo 5V della striscia e tira un filo al pin 5V dell'Arduino: lascialo per il momento scollegato, lo collegherai alla fine.

Controlla tutto… due volte

Controlla tutte le connessioni due volte… Usa un multimetro se ne hai uno per controllare la continuità elettrica.

Se tutto è corretto, il tuo orologio è quasi pronto. Non fornirlo per ora.

Passaggio 3: carica il codice

Carica il codice
Carica il codice
Carica il codice
Carica il codice
Carica il codice
Carica il codice
Carica il codice
Carica il codice

programmiamo

Per caricare il codice in Arduino nano, usa l'IDE di Arduino. Metti tutti i file in una cartella chiamata "Horloge_LED3_nano_BTOK" nella tua cartella Arduino. Aprire l'IDE, selezionare i parametri corretti (tipo di scheda, porta COM, ecc.) e fare clic sul pulsante di caricamento.

Immagine
Immagine

Sul tuo smartphone Android installa l'applicazione Bluetooth Electronics, la trovi facilmente su Google Play. Scarica il file "BluetoothElectronicsCode.txt" da questo Instructable, e cambia l'estensione in zip: otterrai un archivio zip con il codice per l'interfaccia dello smartphone da eseguire con Bluetooth Electronics.

Quando sei pronto, collega l'alimentazione. I LED si accenderanno, anche il modulo HC-05 si bloccherà per cercare la connessione. Avvia l'app Android e segui le istruzioni per associare il modulo Bluetooth al tuo smartphone. Quando sei pronto, avvia l'HMI: sei pronto per giocare!

Notare che…

Il primo LED della striscia dovrebbe essere posizionato sopra l'orologio. Se non lo hai inserito lì, puoi modificare il valore del parametro offset nel codice (riga 65 del file ino). Si occupa di questo.

Quando hai incollato la striscia LED all'interno del cilindro poco profondo, c'erano 2 opzioni: o girare la striscia in senso orario o in senso antiorario. Se l'hai fatto nel modo sbagliato, le lancette dell'orologio gireranno nella direzione sbagliata! Nessun problema. Basta cambiare il valore della variabile booleana sens_horaire su true (riga 77 del file ino)

Immagine
Immagine

Passaggio 4: divertiti

Divertiti!
Divertiti!
Divertiti!
Divertiti!
Divertiti!
Divertiti!

Un'ultima impostazione…

Ora, imposta l'ora. Questo può essere fatto usando semplici comandi che si digitano nella piccola console nella parte inferiore sinistra dell'HMI.

  • Hxx: imposta le ore su xx (es: H4)
  • Myy: imposta i minuti (es: M15)
  • Szz: imposta i secondi (es: S30)

I comandi possono essere concatenati inserendo una stella tra di loro, ad esempio: H4*M15*S35

L'impostazione di ore e/o minuti azzera i secondi.

Vedrai quindi che l'ora viene tracciata da un LED ROSSO, i minuti da un LED VERDE:

Immagine
Immagine

Sono le 9:52:00!

Il colore dei secondi può essere modificato utilizzando lo slider sull'HMI

Immagine
Immagine

Quando muovi il cursore, il piccolo cerchio sul lato destro mostra il colore corrente. Quando lo slider si ferma, invia il colore all'orologio e il LED dei secondi cambia di conseguenza.

I cursori ANIMAZIONE e PALETTE possono essere utilizzati per selezionare e personalizzare le animazioni luminose sull'orologio. Mettili alla prova e guarda il video per alcuni esempi. Quando si modificano alcune impostazioni sull'HMI, la piccola console mostra la risposta dell'Arduino.

Animazioni…

  • 0: mostra solo l'ora, puoi cambiare il colore dei secondi usando il cursore.
  • 1: Uno sfondo colorato (è possibile cambiare il colore) di ampiezza variabile.
  • 2: Arcobaleno rotante
  • 3: Una banda colorata (che può essere cambiata) che fa un giro al secondo.
  • 4: Una striscia colorata che rimbalza sulla lancetta dei secondi.
  • 5: Uno sfondo colorato (è possibile modificare la tavolozza) di ampiezza casuale.
  • 6: visualizza solo l'ora, la lancetta dei secondi cambia la sua ampiezza luminosa.
  • 7: Bandiere rotanti (cambia la tavolozza per cambiare la bandiera tra 4 possibili)
Immagine
Immagine

La bandiera francese -- sono le 7:11:51

Di recente è stata aggiunta un'altra animazione, che cambia ogni 15 secondi per un'animazione scelta casualmente.

Il pulsante MINUTI accende e spegne i LED bianchi ogni 5 minuti sull'orologio.

Immagine
Immagine

Sono le 7:11:25

Da notare che il video e le foto sono state realizzate con uno smartphone e quindi sono di scarsa qualità. I colori sono molto più luminosi e precisi sull'orologio rispetto a come appaiono nel video…

Cos'altro?

Spero che ti piacerà fare questo orologio infinito. C'è ancora molto da fare: puoi dipingere la piastra frontale in MDF per renderla più bella, aggiungere un'altra striscia led sul lato esterno del cilindro per avere un po' di luce animata anche sul muro, ecc.

Immagine
Immagine

Passaggio 5: nuova versione per mantenere l'ora esatta

L'orologio di Arduino nano tende a spostarsi nel tempo, poiché non ha un orologio preciso. Ho realizzato un'altra versione utilizzando un orologio in tempo reale (RTC) per mantenere un'ora precisa.

Gli RTC esistono in vari modelli, consiglio di utilizzare un modulo DS3231, che è molto preciso (rispetto al DS1307). Questa nuova versione del programma utilizza la libreria MD-DS3231, disponibile qui. Basta creare una nuova cartella chiamata Horloge_LED3_nano_BT_RTC nella cartella Arduino e scaricare tutti i file.

Collega il DS3231 come un dispositivo I2C, ovvero SDA su A4 e SCL (o SCK) su A5

Innanzitutto, è necessario impostare l'ora dell'RTC. Vedi ad esempio questo Instructables o questo tutorial.

Carica il file Horloge_LED3_nano_BT_RTC.ino sul tuo Arduino nano ed eseguilo. L'ora viene aggiornata ogni 30 minuti, quindi l'orologio rimane sempre preciso.

Ovviamente è necessario avere la batteria sul modulo RTC, perché mantiene in vita l'RTC anche se non è alimentato da Arduino e può mantenere l'ora precisa.

Consigliato: