2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Či už ide o svet v kluse, alebo sa len chcete dozvedieť, koľko je hodín pred uskutočnením neskorého nočného hovoru, 5 -zónové svetové hodiny sa hodia. Keďže som vo svojej najnovšej zásielke dostal niekoľko 7 -miestnych displejov TM1637, rozhodol som sa zostaviť hodiny pre všetky príležitosti. Na projekt som sa rozhodol použiť Arduino Uno, ktoré poskytovalo dostatok GPIO na 5 hodín, 5 indikátorov AM (LED) a stropné svetlo aktivované dotykovým senzorom. Jediný pin, ktorý som nepoužil, bol D1, ktorý je pre sériové vysielanie, čo mohlo viesť iba k problémom. Ak teda máte záujem, čítajte ďalej!
Krok 1: Diely
Na výrobu hodín som použil:- Arduino Uno (ale fungovali by aj Nano alebo Mega)
- (5) Displeje TM1637
- (5) LED diódy (použiteľné ako indikátory AM/PM)
- (5) 220 ohmové odpory
- Hodiny RTC3231
- Tyčinka AdaFruit NeoPixel alebo iné osvetlenie
- Dotykový senzor aktivuje svetlo
- Buck prevodník na prispôsobenie odberu energie
- Rám alebo puzdro (puzdro som vytlačil 3D, ale buďte kreatívni)
- 12 V napájanie so sudovou zásuvkou (umožňujúca rozdelenie krmív)
- voliteľné - štít Arduino Uno (len aby bol trochu jednoduchší)
Krok 2: Začíname
V TM1637 som stále nový, takže som najskôr naprogramoval, aby som zistil, čo môžem urobiť. Spočiatku to nič nerobilo, ale komunita Arduino je úžasná a čoskoro ma uviedla do prevádzky. Na mojom TM1637 som musel odrezať 2 čiapky na zadnej strane, aby to fungovalo, a odtiaľ len niekoľko pokusov a omylov. Nakoniec som stále nemohol dostať dvojbodku k hodinám - „nahrádza“číslicu hodín na pozícii 1, ale zatiaľ mi to vyhovuje.
Potom najskôr zapojte nepájivú dosku so všetkým, aby ste sa uistili, že sa všetky vaše pripojenia a programovanie zhodujú - áno, som stále krok za krokom. Potom sa rozhodnite pre požadované polohy a nastavte svoje cieľové polohy tak, že zistíte časové rozdiely od GMT. Teraz k spájkovaniu a polohovaniu.
Krok 3: Zapojenie
Použitím sudového napájacieho konektora pre vstup 12 V rozdeľte napájanie a uzemnenie na 1) prevodník dolárov a 2) Vin na Arduine.
Pomocou konvertora dolára vytvorte na štíte 5V napájacie a uzemňovacie rady na spustenie pripojení, čím sa stabilizujú všetky problémy s napájaním.
Každý TM1637 má 4 pripojenia (5v, Grd, dáta a hodiny), pričom DIO a CLK idú na jednotlivé piny GPIO (použil som 2-11) a napájanie mojich riadkov.
Pre indikátory Meridian (5 diód LED) spájkujte (5) s odporom 220 Ohm voči zemi a anódou s konektormi A0-A3 a D12.
RTC potrebuje 5v a Grd spolu s SDA a SCL (A4 a A5).
Svetelnú palicu je potrebné uzemniť dvakrát, raz do radu a raz do Uno. Spustite 5v do riadka a údaje do GPIO (D13). Dotykový senzor beží na 5 V a Grd a na GPIO D0.
Krok 4: Programovanie
Programovanie je pomerne jednoduché. Na displeje som použil knižnicu TM1637display.h, pričom každému zobrazeniu som priradil jedinečný názov - predvídateľne, s názvom mesta. Stačí zmeniť piny DIO a CLK pre každý.
Kódujte svoje prvé miesto s časovým rozdielom a nastavte obvody AM/PM pre LED, aby boli zapnuté/vypnuté podľa hodiny. Použite ho na duplikáciu pre každé miesto.
Hodinu som priradil pozícii 0, 2 číslice, žiadna úvodná nula. V minútach som použil „minútu“a delil 10 pre číslicu 1 (pozícia 2, 1 číslica) a modulo (%) pre číslicu 2 (pozícia 3, 1 číslica).
Osvetlenie NeoPixelu senzorom bolo rovnaké ako akékoľvek iné tlačidlo/dióda LED pomocou knižnice Adafruit_NeoPixel.
Ľahko.
Krok 5: Zostavenie
Vytvorte vhodné puzdro, ktoré sa zmestí do displejov, a ponechajte v ňom miesto na dosku, príkon a prevodník dolára. Vložte, pripevnite drôty, zapnite zariadenie a je to pripravené. Dobre, môže to byť viac, ale toto sú základy bez ohľadu na dizajn.
Príjemné a veselé šťouranie!