Sommario:
- Passaggio 1: stampa 3D dei componenti in plastica
- Passaggio 2: prepara le schede di controllo e il cablaggio
- Passaggio 3: assemblare i servi
- Passaggio 4: configurazione e test
- Passaggio 5: caricamento del codice
- Passaggio 6: assemblaggio dell'orologio sul pannello posteriore
- Passaggio 7: configurazione e funzionamento finali
Video: Orologio meccanico con display a sette segmenti: 7 passi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Un paio di mesi fa ho costruito un display meccanico a 7 segmenti a due cifre che ho trasformato in un conto alla rovescia. È uscito abbastanza bene e un certo numero di persone ha suggerito di raddoppiare il display per creare un orologio. Il problema era che stavo già esaurendo l'IO PWM sul mio Arduino Mega e non avevo abbastanza disponibili per la seconda o la terza cifra. Sono stato quindi indicato nella direzione di questi driver PWM a 16 canali PCA9685 che operano su un'interfaccia I2C. Questi hanno permesso di pilotare i 28 servi di cui avevo bisogno tutti usando i due pin I2C su un Arduino. Quindi mi sono messo al lavoro per costruire un orologio che ora utilizza un modulo orologio in tempo reale DS1302 per mantenere l'ora e due servoazionamenti a 16 canali per controllare i 28 servi utilizzati per comporre il display, tutti alimentati da un Arduino Uno.
Se ti piace questo Instructable, per favore considera di votarlo nel concorso Clocks
Forniture:
Per costruire il tuo orologio, avrai bisogno dei seguenti materiali di consumo oltre ad alcuni strumenti di base:
- Arduino Uno - Acquista qui
- Modulo orologio DS1302 - Acquista qui
- 2 x servoazionamenti PCA9685 16 canali - Acquista qui
- 28 x micro servi - Acquista qui
- Cavo a nastro - Acquista qui
- Strisce di intestazione pin maschio - Acquista qui
- Strisce di intestazione pin femmina - Acquista qui
- MDF da 3 mm - Acquista qui
- Vernice spray nera - Acquista qui
- Circuito di eliminazione della batteria 5V 5A - Acquista qui
- Alimentatore 12V - Acquista qui
Per questo progetto avrai anche bisogno di alcune parti stampate in 3D. Se non hai già una stampante 3D e ti piace fare cose, dovresti assolutamente considerare di acquistarne una. Il Creality Ender 3 Pro utilizzato qui è conveniente e produce stampe di qualità piuttosto buona per il suo prezzo.
- Stampante 3D usata - Acquista qui
- Filamento - Acquista qui
Passaggio 1: stampa 3D dei componenti in plastica
Ho progettato i display a 7 segmenti per essere il più semplice possibile. Il servo è anche la staffa di supporto per sostenere il segmento sopra di esso. Sono necessari due componenti stampati in 3D per ciascun segmento, un blocco spaziatore per supportare il lato inferiore del servo e il segmento del display che si incolla direttamente sul braccio del servo.
Scarica i file di stampa 3D - Orologio meccanico con display a 7 segmenti File di stampa 3D
Stampa i segmenti e i punti del servo utilizzando un PLA di colore brillante. Ho usato il verde traslucido, ma anche il rosso, l'arancione o il giallo dovrebbero andare bene. Ho usato PLA nero per i blocchi distanziatori e i supporti dei punti in modo che non siano visibili quando i segmenti vengono ruotati in posizione off.
Se non hai accesso a una stampante 3D, prova uno dei servizi di stampa online. Sono disponibili numerosi servizi a prezzi accessibili che stamperanno i componenti e li consegneranno a casa tua in pochi giorni.
Passaggio 2: prepara le schede di controllo e il cablaggio
Dovrai usare due driver PWM a 16 canali PCA9685 per pilotare i tuoi 28 servocomandi di clock. Ho separato i servi nelle cifre dell'ora e dei minuti, con ogni coppia di cifre guidata da una scheda. Quindi ho una scheda che controlla i servi per le due cifre delle ore e la seconda che controlla i servi per le due cifre dei minuti.
Per concatenare i due, dovrai creare un connettore per cavo a nastro a 6 fili e saldare una seconda striscia di intestazione sull'altra estremità della prima scheda di controllo del servo. Dovrai anche modificare l'indirizzo I2C sulla seconda scheda in modo che sia diverso dalla prima e identificabile in modo univoco.
Dovrai anche realizzare il cablaggio per collegare le tre schede (due schede servo e il modulo orologio) al tuo Arduino. Avrai bisogno di 5 V e GND su ciascuna scheda, nonché delle connessioni I2C ai pin A4 e A5 di Arduino (I2C su Arduino Uno) e dei pin del modulo orologio CLK, DAT e RST ai pin 6, 7 e 8 del tuo Arduino rispettivamente.
L'alimentazione viene fornita all'Arduino direttamente dall'alimentatore 12V e ai servi utilizzando il BEC 5V 5A che viene quindi collegato ai due terminali sulla parte superiore del driver PWM. Hai solo bisogno di collegare un servoazionamento all'alimentazione e alimenterà il secondo tramite la connessione del cavo a nastro a 6 fili.
Passaggio 3: assemblare i servi
Una volta stampati i segmenti, dovrai spruzzare il retro e i lati di nero in modo che siano meno visibili quando vengono ruotati di 90 gradi in posizione off.
È quindi necessario incollare i segmenti sui bracci del servo con colla a caldo. Aiuta incollarli sul servo con il braccio già sul servo, in questo modo puoi controllare che li stai incollando dritti e livellati.
Dovrai anche incollare un blocco distanziatore sul fondo di ciascun servo.
Assemblare i punti incollando un piccolo tassello o un bastoncino da kebab nella parte posteriore dei punti e poi nei blocchi di base. Ho spruzzato anche questi bastoncini neri in modo che siano meno visibili se visti da un'angolazione.
Passaggio 4: configurazione e test
Ho numerato tutti i servi e ho scritto il numero su ogni cavo in modo che fosse più facile tenerne traccia. Ho iniziato con il segmento superiore sulla cifra delle unità e ho lavorato intorno al segmento centrale sulla cifra delle decine. Questo è anche l'ordine con cui li ho collegati alle schede servocomando, ricordando che gli identificatori sulle schede contano da 0 a 13 e non da 1 a 14.
Ho quindi impostato i segmenti su un tavolo con spazio sufficiente tra di loro per i test in modo che non si spostassero l'uno nell'altro durante l'impostazione dei limiti di viaggio e delle direzioni. Se provi a metterli vicini, probabilmente avrai uno o due tentativi di muoversi nella direzione sbagliata o di superare la corsa ad un certo punto e colpirne un altro che potrebbe danneggiare il segmento, il braccio del servo o mettere a nudo gli ingranaggi sul servo.
Passaggio 5: caricamento del codice
Il codice sembra complicato a prima vista, ma in realtà è relativamente semplice grazie alle due librerie utilizzate. C'è anche molta ripetizione perché ci sono quattro diversi display a 7 segmenti che devono essere aggiornati.
Ecco una descrizione sintetica del codice, dai un'occhiata alla guida completa per una spiegazione più dettagliata e un link per scaricare il codice - Orologio meccanico con display a 7 segmenti
Iniziamo importando due librerie, virtuabotixRTC.h per il modulo clock e Adafruit_PWMServoDriver.h per i servo driver. La libreria Adafruit può essere scaricata e installata direttamente tramite il gestore della libreria nell'IDE.
Creiamo quindi un oggetto per ogni centrale con il relativo indirizzo, uno per le cifre delle ore e uno per le cifre dei minuti.
Abbiamo quindi quattro array per memorizzare le posizioni di accensione e spegnimento per ciascun servo. Dovrai apportare modifiche a questi numeri nei prossimi passaggi per assicurarti che i tuoi servi siano in posizione verticale quando sono accesi, ruotati di 90 gradi quando sono spenti e non superino la corsa.
Un array di cifre memorizza le posizioni di ciascun segmento per ciascuna cifra da visualizzare.
Quindi impostiamo il modulo orologio e creiamo variabili per memorizzare le singole cifre attuali e passate.
Nella funzione di configurazione avviamo e impostiamo le schede di controllo PWM e aggiorniamo l'ora se necessario. Quindi eseguiamo un ciclo per impostare il display su 8 8: 8 8 in modo da conoscere la posizione iniziale di tutti i servi. Questo è anche usato per impostare i servi in modo che siano tutti rivolti correttamente verso l'alto.
Nel ciclo principale otteniamo l'ora aggiornata dal modulo orologio, la versiamo nelle quattro cifre e poi controlliamo se l'ora è cambiata dall'ultimo controllo. Se l'ora è cambiata, aggiorniamo il display e quindi aggiorniamo le cifre precedenti.
Nella funzione di visualizzazione degli aggiornamenti, spostiamo prima i segmenti centrali. Questo viene fatto prima perché è necessaria una logica per spostare leggermente i due segmenti superiori adiacenti al segmento centrale prima di spostare il segmento centrale, altrimenti li urterà. Una volta spostati i segmenti centrali, i segmenti rimanenti vengono spostati nelle posizioni corrette.
Passaggio 6: assemblaggio dell'orologio sul pannello posteriore
Una volta terminato il test, ho assemblato i servi sulla scheda posteriore utilizzando il layout sopra come guida.
L'area bianca è la dimensione complessiva della scheda, il grigio più chiaro è l'area che circonda ogni cifra in cui si muovono i segmenti del servo e il contorno sull'area grigio scuro è la linea centrale per i 6 segmenti esterni per ogni cifra.
Ho tagliato il tabellone, segnato il layout e poi incollato le cifre in posizione per comporre il quadrante dell'orologio.
Quindi ho praticato dei fori vicino a ciascun servo e ho fatto passare i fili sul retro della scheda in modo che fossero meno visibili.
Ho montato l'elettronica sul retro dell'orologio con del nastro biadesivo.
Passaggio 7: configurazione e funzionamento finali
Una volta che i servi erano tutti pronti, ho rimosso tutti i bracci dei servi per le ultime regolazioni alle posizioni dei segmenti. Dovresti accendere l'Arduino in questo stato in modo che 8 8: 8 8 sia visualizzato e quindi scollegare l'alimentazione, questo ricentra tutti i tuoi servi in modo che tu possa rimettere i bracci del servo con i segmenti rivolti il più vicino possibile alla verticale il più possibile.
Dovrai quindi accendere in sequenza il tuo Arduino e apportare modifiche alle posizioni di attivazione e disattivazione del segmento nei quattro array in modo che i servi siano perfettamente verticali quando sono accesi e ruotino di 90 gradi quando sono spenti senza viaggiare eccessivamente. Questo passaggio richiede molto tempo e richiede un po' di pazienza, ma il risultato finale ne vale la pena!
L'orologio può essere lasciato alimentato utilizzando l'alimentatore 12V e 5V BEC ad esso collegato. Se l'alimentazione si interrompe, la batteria del modulo RTC manterrà l'ora in modo che quando l'alimentazione viene ripristinata, l'orologio si reimposti automaticamente all'ora corretta.
Se ti è piaciuto questo Instructable, per favore votalo nel concorso Orologio e fammi sapere eventuali miglioramenti o suggerimenti che puoi fornire nella sezione commenti qui sotto.
Secondo Premio al Concorso Orologi
Consigliato:
Orologio a 7 segmenti: 4 passi (con immagini)
Orologio a 7 segmenti: dopo diversi anni di utilizzo, il mio orologio analogico è definitivamente morto. Nel frattempo stavo cercando un progetto di orologio 3D da stampare con la mia Prusa, quindi ho trovato un orologio a 7 segmenti da pilotare con led ws2812 e Arduino. Ho pensato che la potenza di quel led fosse t
Display dell'orologio a sette segmenti con illuminazione laterale: 16 passi (con immagini)
Display dell'orologio a sette segmenti con illuminazione laterale: i display a sette segmenti esistono da più di un secolo (https://en.wikipedia.org/wiki/Seven-segment_display) e formano la forma familiare dei numeri negli orologi digitali, nei pannelli degli strumenti e molti altri display numerici. Sono stati ri
Orologio con display a sette segmenti fai da te: 9 passaggi
Orologio con display a sette segmenti fai da te: in questo tutorial ti mostrerò come costruire un orologio a sette segmenti
Orologio digitale e binario con display a LED a 8 cifre x 7 segmenti: 4 fasi (con immagini)
Orologio digitale e binario con display a LED a 8 cifre x 7 segmenti: questa è la mia versione aggiornata di un digitale e amp; Orologio binario che utilizza un display a LED a 8 cifre x 7 segmenti. Mi piace dare nuove funzionalità per i normali dispositivi, in particolare gli orologi, e in questo caso l'uso del display a 7 Seg per l'orologio binario è non convenzionale e
Display a sette segmenti in PVC riciclato: 5 passaggi (con immagini)
Display a sette segmenti in PVC riciclato: è un po' di tempo che ho in mente di realizzare un orologio digitale da poter appendere al muro, ma ho continuato a metterlo perché non volevo comprare l'acrilico, quindi ho usato dei passacavi in PVC avanzati e ho devo dire che i risultati non sono quel letto quindi lascia