Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Pavarësisht nëse bota trondit apo thjesht është e interesuar të dijë sa është ora para se të bëni atë telefonatë natën vonë, një orë botërore me 5 zona i përshtatet faturës. Meqenëse mora disa ekrane shtesë 7 shifrore TM1637 në dërgesën time të fundit, vendosa të krijoj një orë për të gjitha rastet. Vendosa të përdor një Arduino Uno për projektin, i cili siguroi GPIO të mjaftueshëm për 5 orë, tregues 5 AM (LED) dhe një dritë të sipërme të aktivizuar me një sensor prekje. Pina e vetme që nuk kam përdorur ishte D1, e cila është për serialin Tx, e cila mund të çojë vetëm në telashe. Pra, nëse jeni të interesuar, lexoni!
Hapi 1: Pjesët
Për të bërë orën kam përdorur:- Një Arduino Uno (por një Nano ose Mega gjithashtu do të funksiononte)
- (5) ekrane TM1637
- (5) LED (për t'u përdorur si tregues AM/PM)
- (5) Rezistenca 220 Ohm
- Ora RTC3231
- shkop AdaFruit NeoPixel ose ndriçim tjetër
- Prekni sensorin për të aktivizuar dritën
- Konvertuesi Buck për të akomoduar tërheqjen e energjisë
- Kornizë ose kuti (kam printuar 3D një kuti, por jini krijues)
- Fuqia 12V me një enë fuçi (për të lejuar ndarjen e burimeve)
- opsionale - Mburoja Arduino Uno (vetëm për ta bërë atë pak më të thjeshtë)
Hapi 2: Fillimi
Unë jam ende i ri në TM1637 kështu që programova një të parë për të parë se çfarë mund të bëja. Në fillim nuk bëri asgjë, por komuniteti Arduino është i mahnitshëm dhe së shpejti më ngriti në punë. Në TM1637 tim, më duhej të prisja 2 kapakët në anën e pasme për ta bërë atë të funksionojë dhe nga atje vetëm disa prova dhe gabime. Në fund, unë ende nuk mund të marr një zorrë të trashë për orën - ajo "zëvendëson" shifrën e orës në pozicionin 1, por jam mirë me të, tani për tani.
Tjetra, lidhni një tabelë me gjithçka së pari për t'u siguruar që të gjitha lidhjet dhe programimi juaj përputhen - po, unë jam ende një djalë hap pas hapi. Pastaj vendosni për vendndodhjet e dëshiruara dhe vendosni vendet tuaja të synuara duke gjetur ndryshimet në kohë nga GMT. Tani për bashkimin dhe pozicionimin.
Hapi 3: Instalimet elektrike
Duke përdorur një lidhës të fuqisë së fuçisë për hyrjen 12v, ndani fuqinë dhe tokëzimin në konvertorin 1) buck dhe 2) Vin në Arduino.
Përdorni konvertorin buck për të bërë fuqi 5v dhe rreshta tokëzimi në mburojë për të drejtuar lidhjet, kjo do të stabilizojë çdo çështje të energjisë.
Çdo TM1637 ka 4 lidhje (5v, Grd, Data dhe Clock), me DIO dhe CLK që shkojnë në kunjat individuale GPIO (kam përdorur 2-11) dhe fuqinë në rreshtat e mi.
Për treguesit Meridian (5 LED) lidhni (5) 220 Ohm res në tokë dhe lidhjet Anode me A0-A3 dhe D12.
RTC ka nevojë për një 5v dhe Grd së bashku me SDA dhe SCL (A4 dhe A5).
Shkopi i lehtë duhet të jetë i tokëzuar dy herë, një herë në rresht dhe një herë në Uno. Drejtoni 5v në rresht dhe të dhënat në një GPIO (D13). Sensori i prekjes funksionon në 5v dhe Grd dhe në GPIO D0.
Hapi 4: Programimi
Programimi është mjaft i drejtë përpara. Kam përdorur bibliotekën TM1637display.h për ekranet, duke i caktuar secilës ekran një emër unik - në mënyrë të parashikueshme, me emrin e qytetit. Thjesht ndryshoni kunjat DIO dhe CLK për secilën.
Kodoni vendndodhjen tuaj të parë me diferencën kohore dhe vendosni perimetrat AM/PM që LED të ndizet/fiket bazuar në orën. Përdoreni atë për të kopjuar për secilin vendndodhje.
I caktova orën në pozicionin 0, 2 shifra, pa zero kryesore. Për minutat kam përdorur 'minutë' dhe e kam ndarë me 10 për shifrën 1 (pos 2, 1 shifër) dhe modulo (%) për shifrën 2 (pos 3, 1 shifër).
Ndriçimi i NeoPixel me sensorin ishte si çdo buton/kombinim tjetër LED duke përdorur bibliotekën Adafruit_NeoPixel.
Lehtë
Hapi 5: Asambleja
Krijoni një kuti të përshtatshme që i përshtatet ekraneve dhe pak hapësirë prapa për tabelën, hyrjen e energjisë dhe konvertuesin. Futni, bashkoni telat, ndizeni dhe është gati. Në rregull, mund të ketë më shumë se kjo, por këto janë bazat pavarësisht nga dizajni.
Gëzoni dhe Gëzuar Tinkering!