Sommario:
- Passaggio 1: Passaggio 1: il PCB e lo schema
- Passaggio 2: Passaggio 2: il codice di merda
- Passaggio 3: Passaggio 3: il caso di merda
Video: L'orologio non così schifoso: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Di davidjwattsdavidjwatts.comSegui di più dell'autore:
Primo, perché chiamarlo Crap Clock? Beh, abbassa le aspettative con la speranza di superarle:-) Scherzo ovviamente, l'orologio rappresenta molti dei miei fallimenti e successi in egual misura. La rappresentazione fisica del perdente in elettronica.
In secondo luogo, questo non è davvero un modo per rendere la "cosa" più una riflessione sulle scelte di design e su tutti i materiali di cui hai bisogno per costruire il tuo.
Il Crap Clock è un orologio che parte da un ATMEGA328 che pilota 82 LED tramite un 74HC595 che guida le righe e un TLC5940 che assorbe la corrente attraverso le colonne. Poiché DS3231 mantiene il tempo e può essere mantenuto in funzione con i terminali di ingresso della batteria. L'orologio ha diverse "modalità" per visualizzare l'ora, la data, l'anno, la temperatura e poi le modalità per impostare l'ora e la data con i due pulsanti. I LED possono essere oscurati con il TLC5940 e il display dei secondi (LED rosa sopra) può essere utilizzato per visualizzare una lettera contestuale accanto alla modalità in cui si trova l'orologio.
Ci sono un paio di funzioni che non ho usato o che ho tolto dal PCB come la ricarica della batteria agli ioni di litio, l'ho fatto in questa versione per ridurre il costo delle parti e perché il DS3231 assorbe davvero solo una piccola quantità di corrente. Sono ancora presenti pin per il pin INT/SQW dell'allarme DS3231 integrato e un pin del cicalino dell'ATMEGA. Il pin 10 è suddiviso per uso generale e c'è anche un pin analogico disponibile per una funzione come un LDR per alterare la luminosità in base alla luce ambientale.
Ho messo insieme una playlist di tutti i video in cui ricordo di aver parlato o progettato il Crap Clock.
Passaggio 1: Passaggio 1: il PCB e lo schema
Il layout e lo schema del PCB sono stati progettati in Eagle, ci è voluto molto tempo;-) ma è stato anche molto divertente e mi ha insegnato davvero molto sul design. Non preoccuparti, ci sono ancora molti errori se ogni altro progetto che ho fatto, inclusi tutti quelli che non conosco in questo.
Volevo che l'orologio avesse un display a matrice e che tutto esistesse su una scheda, quindi ho iniziato a creare una scheda rotonda per emulare un orologio analogico. Sì…. che non si attaccava, era una forma terribile da aggirare e richiedeva milioni (forse centinaia) di LED. Successivamente ho deciso di realizzare un display in stile matrice utilizzando i LED, originariamente tutti pilotati con registri a scorrimento (il venerabile 74HC595) ma alla fine ho deciso che il familiare driver LED TLC5940 sarebbe stato fantastico per assorbire la corrente da quei LED e dare il fantastico caratteristica dell'attenuazione PWM.
Ecco la distinta base:
1 x 16 MHz cristallo SM49
82 x 0603 LED (praticamente di qualsiasi colore ti piaccia)
1 x Mini USB di tipo B (non necessario, è solo per l'alimentazione che è comunque ripartita sui pin)
7 condensatori da 100nf 0805
9 x 10k 0805 resistori
Condensatori 2 x 10uf 0805 (non sono davvero necessari per essere onesti e quelli 0805 sono costosi)
5 x 1k 0805 resistori
1 x 2k 0805 resistori
5 x 2n3906 SOT23
2 x 22pf 1206 resistori
16 x 470 ohm 0805 resistori
1x74HC595D SO16
1 x ATMEGA328P-AU
1 x DS3231 SO16W
2 interruttori tattili SMD DTSM-3
1 x TLC5940PWP
Passaggio 2: Passaggio 2: il codice di merda
Il codice era un po' un incubo, si è scoperto che codificare un orologio con un display a matrice homebrew non è così facile anche quando si utilizzano un paio di librerie.
Ovviamente non è un gran codice, è un codice di merda. Ma è funzionante e facile da modificare, non ho idea di come creare una libreria, quindi è tutto un po' un disastro ferroviario. Ah ah, ma onestamente sto lavorando per migliorare il mio codice e imparare a creare le mie librerie.
È stato scritto nell'IDE di Arduino e utilizza alcune librerie (Shifter.h, MD_DS3231.h e Tlc5940.h) create da persone molto più intelligenti di me. Dovrai caricarlo con un programmatore, ho usato un Arduino come ISP e l'ho collegato al reset, 11, 12, 13 pin sulla scheda.
I pulsanti:
Ci sono due pulsanti, hanno più funzioni a seconda della modalità in cui si trova l'orologio. Puoi usarli per cambiare la modalità di visualizzazione avanti e indietro, attraverso l'ora, la data, l'anno, la temperatura e quindi per impostare l'ora.
Passaggio 3: Passaggio 3: il caso di merda
"loading="lazy" posso dire che è un po' una schifezza ma ne sono un po' innamorato. La nuova versione del design PCB non ha quegli attraenti cavi bodge;-) Quelli finiti che ho sono basati su le mie schede prototipo.
Sentiti libero di smontarlo, remixarlo e utilizzare tutte le parti che ritieni utili. Sono stato aiutato moltissimo dalle persone della community di YouTube per l'intera durata di questo progetto, quindi alla fine è per tutti.
Consigliato:
Rendilo così! Mini computer di ingegneria Star Trek TNG: 11 passaggi (con immagini)
Rendilo così! Star Trek TNG Mini Engineering Computer: PanoramicaSono cresciuto guardando Star Trek: The Next Generation. Ho sempre voluto costruire un dispositivo a tema Star Trek, quindi finalmente sono riuscito a remixare uno dei miei vecchi progetti per creare un terminale di visualizzazione di Star Trek. Il terminale fornisce le seguenti inf
Specchio non così intelligente ma molto salutare e leggermente inquietante: 5 passaggi (con immagini)
Specchio non così intelligente ma molto salutare eppure leggermente inquietante: hai bisogno di uno specchio ma non vuoi aggiungere un altro oggetto intelligente alla tua casa? Allora questo specchio non così intelligente ma molto salutare eppure leggermente inquietante è proprio quello che fa per te
Python per principianti non così principianti: 7 passaggi
Python per principianti non così principianti: Ciao, l'ultima volta, se stavi prestando attenzione, abbiamo toccato le basi di Python: stampa, cicli while e for, input & output, if, e uno starter su easygui. anche una distribuzione gratuita di easygui e pycal-my own module.questo tutorial tratterà: altro
FridgePi: gli avanzi non sono mai stati così belli: 7 passaggi (con immagini)
FridgePi: gli avanzi non sono mai suonati così bene: per anni ho riprodotto musica in aria dall'iPhone a un impianto stereo nel seminterrato, con gli altoparlanti collegati in cucina. Funziona abbastanza bene, ma ha scaricato la batteria del mio telefono e limitato il contenuto alla mia libreria di iTunes o a qualche web rad
Tutorial batch non così semplice: 6 passaggi
Esercitazione sui batch non così di base: nel tutorial precedente abbiamo appreso le nozioni fondamentali sulla scrittura di file batch. Se non hai idea di cosa sia il batch, ma vuoi impararlo, fai impareranno comandi più avanzati e come