Dünya Saatı ətrafında: 5 addım (şəkillərlə)
Dünya Saatı ətrafında: 5 addım (şəkillərlə)
Anonim
Dünya Saatı ətrafında
Dünya Saatı ətrafında
Dünya Saatı ətrafında
Dünya Saatı ətrafında

İstər dünya gəzir, istərsə də o gecə zəng etməzdən əvvəl saatın nə olduğunu bilməklə maraqlanırsınızsa, 5 zonalı dünya saatı hesaba uyğundur. Son göndərişimdə əlavə olaraq TM1637 7 rəqəmli displey aldığım üçün bütün hallar üçün bir saat yığmağa qərar verdim. Layihə üçün 5 saat, 5 AM göstəricisi (LED) və toxunma sensoru ilə işə salınan yuxarı işıq üçün kifayət qədər GPIO təmin edən bir Arduino Uno istifadə etmək qərarına gəldim. İstifadə etmədiyim yeganə pin yalnız problemə səbəb ola biləcək serial Tx üçün olan D1 idi. Buna görə maraqlanırsınızsa, oxuyun!

Addım 1: hissələr

Hissələri
Hissələri
Hissələri
Hissələri
Hissələri
Hissələri

İstifadə etdiyim saatı düzəltmək üçün:- Bir Arduino Uno (ancaq bir Nano və ya Mega da işləyəcəkdi)

- (5) TM1637 displeyləri

- (5) LEDlər (AM/PM göstəricisi kimi istifadə etmək üçün)

- (5) 220 Ohm rezistorlar

- RTC3231 Saatı

- AdaFruit NeoPixel çubuğu və ya digər işıqlandırma

- İşığı aktivləşdirmək üçün sensorla vurun

- Buck çevirici güc çəkmək üçün

- Çərçivə və ya qutu (3D -də bir qutu çap etdim, amma yaradıcı olun)

- Barel yuvası olan 12V güc (yemlərin parçalanmasına imkan vermək üçün)

- isteğe bağlı - Arduino Uno qalxanı (bir az daha sadə etmək üçün)

Addım 2: Başlayın

Başlanğıc
Başlanğıc
Başlanğıc
Başlanğıc
Başlanğıc
Başlanğıc
Başlanğıc
Başlanğıc

TM1637 üçün hələ də yeniyəm, buna görə əvvəlcə nə edə biləcəyimi görmək üçün proqramlaşdırdım. Əvvəlcə heç bir şey etmədi, amma Arduino icması heyrətamizdir və tezliklə məni işə saldı. TM1637 cihazımda işləməsi üçün arxadakı 2 qapağı kəsmək məcburiyyətində qaldım və oradan yalnız bir sınaq və səhv. Sonda hələ də saat üçün iki nöqtə ala bilmədim - 1 -ci mövqedəki saat rəqəmini "əvəz edir", amma hələlik bununla razıyam.

Sonra, bütün əlaqələrinizin və proqramlaşdırmanızın uyğun olduğundan əmin olmaq üçün əvvəlcə hər şeyi bir çörək taxtası ilə bağlayın - bəli, mən hələ də addım -addım adamam. Sonra istədiyiniz yerlərə qərar verin və GMT -dən vaxt fərqlərini taparaq hədəf yerlərinizi qurun. İndi lehimləmə və yerləşdirmə haqqında.

Addım 3: Kabel çəkmə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

12v giriş üçün bir barel güc konnektoru istifadə edərək, gücü və zəmini 1) buck çeviriciyə və 2) Arduino üzərindəki Vinə bölün.

Bağlantıları idarə etmək üçün qalxanda 5v güc və torpaq satırları etmək üçün dollar çeviricisini istifadə edin, bu da hər hansı bir enerji problemini sabitləşdirəcəkdir.

Hər bir TM1637-də 4 əlaqə var (5v, Grd, Məlumat və Saat), DIO və CLK fərdi GPIO sancaqlarına gedir (2-11 istifadə etdim) və satırlarımın gücü.

Meridian göstəriciləri (5 LED) üçün lehim (5) 220 Ohm toprağa və Anod A0-A3 və D12-ə qoşulur.

RTC, SDA və SCL (A4 və A5) ilə birlikdə 5v və Grd lazımdır.

İşıq çubuğunun bir dəfə sıraya və bir dəfə Uno -ya iki dəfə topraklanması lazımdır. 5v -ni satıra və məlumatları GPIO -ya (D13) işlədin. Toxunma sensoru 5v və Grd və GPIO D0 ilə işləyir.

Addım 4: Proqramlaşdırma

Proqramlaşdırma kifayət qədər düzdür. Ekranlar üçün TM1637display.h kitabxanasından istifadə etdim, hər ekrana unikal bir ad təyin etdim - əvvəlcədən şəhər adı ilə. Yalnız hər biri üçün DIO və CLK pinlərini dəyişdirin.

Vaxt fərqi ilə ilk yerinizi kodlayın və LED -in AM/PM perimetrlərini saata görə yandırın/söndürün. Hər bir yer üçün kopyalamaq üçün istifadə edin.

Saatı 0, 2 rəqəmləri ilə təyin etdim, sıfır yox. Dəqiqələr üçün 'dəqiqə' istifadə etdim və 1 rəqəmi üçün 10 -a bölündüm (mövqe 2, 1 rəqəm) və 2 rəqəmi üçün modul (%) (mövqe 3, 1 rəqəm).

NeoPixel -in sensorla işıqlandırılması, Adafruit_NeoPixel kitabxanasından istifadə edən digər düymələr/LED kombinasiyalarına bənzəyirdi.

Asan.

Addım 5: Montaj

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

Lövhə, güc girişi və dollar konvertoru üçün ekranlara və arxasındakı bir yerə uyğun uyğun bir qutu hazırlayın. Telləri daxil edin, qoşun, işə salın və hazırdır. Tamam, bundan daha çox şey ola bilər, amma dizayndan asılı olmayaraq bunlar əsasdır.

Zövq alın və Xoşbəxt Tinkering!