Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Bez obzira je li svjetski kasač ili samo želite znati koliko je sati prije upućivanja kasnonoćnog poziva, svjetski sat s 5 zona odgovara računu. Budući da sam u posljednjoj pošiljci dobio dodatne TM1637 7 -znamenkasti zaslone, odlučio sam sastaviti sat za sve prigode. Odlučio sam koristiti Arduino Uno za projekt, koji je pružao dovoljno GPIO -a za 5 satova, 5 AM indikatora (LED) i gornje svjetlo aktivirano senzorom na dodir. Jedini pin koji nisam koristio bio je D1, koji je za serijski Tx, što je moglo dovesti samo do problema. Pa ako ste zainteresirani, čitajte dalje!
Korak 1: Dijelovi
Za izradu sata koristio sam:- Arduino Uno (ali bi radili i Nano ili Mega)
- (5) Zasloni TM1637
- (5) LED diode (za upotrebu kao AM/PM indikatori)
- (5) 220 ohmski otpornici
- Sat RTC3231
- AdaFruit NeoPixel štapić ili druga rasvjeta
- Za aktiviranje svjetla dodirnite senzor
- Buck pretvarač za prilagođavanje potrošnje energije
- Okvir ili kućište (3D sam ispisao kućište, ali budite kreativni)
- 12V napajanje sa spremnikom za cijev (kako bi se omogućilo cijepanje izvora)
- opcionalno - Arduino Uno štit (samo da bude malo jednostavniji)
Korak 2: Početak
Još sam nov u TM1637 pa sam prvo programirao jedan da vidim što mogu učiniti. U početku nije učinilo ništa, ali Arduino zajednica je nevjerojatna i uskoro me pokrenula. Na svom TM1637 morao sam izrezati 2 kape na stražnjoj strani da bi funkcionirao, a odatle samo malo pokušaja i pogrešaka. Na kraju još uvijek nisam mogao dobiti dvotočku za sat - ona "zamjenjuje" znamenku sata na poziciji 1, ali za sada mi je to u redu.
Zatim prvo povežite matičnu ploču sa svime kako biste bili sigurni da se sve vaše veze i programiranje podudaraju - da, još uvijek sam korak po korak. Zatim odlučite o željenim lokacijama i postavite ciljna mjesta tako što ćete pronaći vremenske razlike od GMT -a. Sada idemo na lemljenje i pozicioniranje.
Korak 3: Ožičenje
Koristeći bačvasti priključak za napajanje za 12v ulaz, podijelite napajanje i masu na 1) pretvarač dolara i 2) Vin na Arduinu.
Upotrijebite pretvarač dolara da napravite 5V napajanje i uzemljene redove na štitu za povezivanje, to će stabilizirati sve probleme s napajanjem.
Svaki TM1637 ima 4 veze (5v, Grd, Podaci i Sat), pri čemu DIO i CLK idu na pojedinačne GPIO pinove (koristio sam 2-11) i napajanje u mojim redovima.
Za meridijanske indikatore (5 LED dioda) lemite (5) 220 ohma u odnosu na masu i anodne veze na A0-A3 i D12.
RTC -u trebaju 5v i Grd zajedno sa SDA i SCL (A4 i A5).
Svjetlosni štapić treba uzemljiti dva puta, jednom u nizu i jednom u Uno. Pokrenite 5v do retka i podatke do GPIO -a (D13). Senzor dodira radi na 5v i Grd te na GPIO D0.
Korak 4: Programiranje
Programiranje je prilično jednostavno. Koristio sam biblioteku TM1637display.h za zaslone, dodjeljujući svakom zaslonu jedinstveno ime - predvidljivo, s imenom grada. Samo promijenite DIO i CLK pinove za svaki.
Kodirajte svoju prvu lokaciju s vremenskom razlikom i postavite AM/PM perimetre za uključivanje/isključivanje LED -a na temelju sata. Koristite ga za dupliciranje za svako mjesto.
Dodijelio sam sat poziciji 0, 2 znamenke, bez početne nule. Za minute sam koristio 'minutu' i podijelio s 10 za znamenku 1 (poz. 2, 1 znamenku) i modulo (%) za znamenku 2 (poz. 3, 1 znamenku).
Osvjetljavanje NeoPixela senzorom bilo je kao i svaka druga kombinacija gumba/LED pomoću biblioteke Adafruit_NeoPixel.
Lako.
Korak 5: Montaža
Napravite prikladnu futrolu koja odgovara ekranima i malo prostora za ploču, ulaznu energiju i pretvarač dolara. Umetnite, spojite žice, uključite ga i spreman je. U redu, možda ima više od ovoga, ali to su osnove bez obzira na dizajn.
Uživajte i sretno petljajte!