Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Indiferent dacă este vorba despre trot în lume sau doar interesat să știe ce oră este înainte de a efectua acel apel târziu, un ceas mondial cu 5 zone se potrivește cu factura. Deoarece am primit câteva afișaje TM1637 în plus cu 7 cifre în ultima mea expediere, am decis să pun împreună un ceas pentru toate ocaziile. Am decis să folosesc un Arduino Uno pentru proiect, care furniza suficiente GPIO-uri pentru 5 ceasuri, 5 indicatoare AM (LED-uri) și o lumină aeriană activată cu un senzor tactil. Singurul pin pe care nu l-am folosit a fost D1, care este pentru seria Tx, care ar putea duce doar la probleme. Deci, dacă sunteți interesat, citiți mai departe!
Pasul 1: Piese
Pentru a face ceasul am folosit: - Un Arduino Uno (dar ar funcționa și un Nano sau Mega)
- (5) Afișează TM1637
- (5) LED-uri (de utilizat ca indicatori AM / PM)
- (5) Rezistențe de 220 Ohm
- Ceas RTC3231
- Stick AdaFruit NeoPixel sau altă iluminare
- Atingeți senzorul pentru a activa lumina
- Convertor Buck pentru a acomoda consumul de energie
- Cadru sau carcasă (am imprimat 3D o carcasă, dar fii creativ)
- Putere de 12V cu o priză cu butoi (pentru a permite împărțirea alimentărilor)
- opțional - scutul Arduino Uno (doar ca să fie puțin mai simplu)
Pasul 2: Introducere
Sunt încă nou la TM1637, așa că am programat unul mai întâi pentru a vedea ce aș putea face. La început nu a făcut nimic, dar comunitatea Arduino este uimitoare și, în curând, m-a pus în funcțiune. Pe TM1637 a trebuit să tai cele 2 capace de pe spate ca să funcționeze și de acolo doar câteva încercări și erori. În cele din urmă, încă nu am putut obține două puncte pentru ceas - „înlocuiește” cifra orei din poziția 1, dar sunt în regulă, deocamdată.
Apoi, conectați un panou de testare cu totul pentru a vă asigura că toate conexiunile și programarea dvs. se potrivesc - da, sunt încă un tip pas cu pas. Apoi decideți locațiile dorite și configurați locațiile țintă găsind diferențele de timp față de GMT. Acum, la lipire și poziționare.
Pasul 3: Cablare
Folosind un conector de alimentare cu butoi pentru intrarea de 12V, împărțiți puterea și împământarea la 1) convertorul buck și 2) la Vin pe Arduino.
Folosiți convertorul Buck pentru a face rânduri de putere și masă de 5V pe scut pentru a rula conexiunile, acest lucru va stabiliza orice problemă de alimentare.
Fiecare TM1637 are 4 conexiuni (5v, Grd, Data și Clock), DIO și CLK mergând la pini GPIO individuali (am folosit 2-11) și puterea la rândurile mele.
Pentru indicatorii Meridian (5 LED-uri) lipiți (5) 220 Ohm res la masă și conexiunile anodice la A0-A3 și D12.
RTC are nevoie de 5v și Grd împreună cu SDA și SCL (A4 și A5).
Bara de lumină trebuie să fie împământată de două ori, o dată la rând și o dată la Uno. Rulați 5v pe rând și datele pe un GPIO (D13). Senzorul tactil rulează la 5v și Grd și la GPIO D0.
Pasul 4: Programare
Programarea este destul de simplă. Am folosit biblioteca TM1637display.h pentru afișaje, atribuind fiecărui afișaj un nume unic - în mod previzibil, cu numele orașului. Schimbați doar pinii DIO și CLK pentru fiecare.
Codificați prima locație cu diferența de timp și setați perimetrele AM / PM pentru ca LED-ul să fie aprins / oprit în funcție de oră. Folosiți-l pentru a copia pentru fiecare locație.
Am atribuit ora poziției 0, 2 cifre, fără zero inițial. Pentru minute am folosit „minut” și împărțit la 10 pentru cifra 1 (poziția 2, 1 cifră) și modulul (%) pentru cifra 2 (poziția 3, 1 cifră).
Iluminarea NeoPixel cu senzorul a fost la fel ca orice alt combo de butoane / LED-uri folosind biblioteca Adafruit_NeoPixel.
Uşor.
Pasul 5: Asamblare
Creați o carcasă adecvată care se potrivește cu afișajele și o parte din spațiul din spate pentru placă, intrare de putere și convertorul Buck. Introduceți, atașați fire, porniți și este gata. Bine, s-ar putea să fie mai mult decât asta, dar acestea sunt elementele de bază, indiferent de design.
Bucurați-vă și fericiți Tinkering!