Mündəricat:

NTP Sync ilə Əsl İkili Saat: 4 addım
NTP Sync ilə Əsl İkili Saat: 4 addım

Video: NTP Sync ilə Əsl İkili Saat: 4 addım

Video: NTP Sync ilə Əsl İkili Saat: 4 addım
Video: 8 часов ОБУЧАЮЩИХ СЛОВ ПО АНГЛИЙСКОМУ ЯЗЫКУ с примерами фраз | Практика английского языка 2024, Iyul
Anonim
NTP Sync ilə Əsl İkili Saat
NTP Sync ilə Əsl İkili Saat
NTP Sync ilə Əsl İkili Saat
NTP Sync ilə Əsl İkili Saat

Əsl ikili saat, saatı/dəqiqə/saniyəyə uyğun ikili kodlu ondalık rəqəmləri göstərən ənənəvi "ikili saat" dan fərqli olaraq, günün vaxtını tam bir günün ikili kəsrlərinin cəmi olaraq göstərir. Ənənəvi "ikili saatlar" həqiqətən ikili kodlu-onlu-kodlu-seksagesimal istifadə edir. Nə qarışıqlıq! Əsl ikili saatlar hər şeyi çox asanlaşdırır.

Əsl ikili saatda, birinci rəqəm sizə yarım gün, ikinci rəqəm dörddə bir gün, üçüncü rəqəm günün səkkizinci hissəsidir və s. Hər hansı bir qətnaməyə çox tez oxunur). Birinci rəqəm AM -ni PM -ə qarşı effektiv şəkildə kodlayır, ikinci rəqəm erkən AM/PM və ya gec AM/PM və s.

Əsl ikili saatımı tərtib edərkən, on iki rəqəm qətnamə istifadə etdim, buna görə gün 2^12 = 4096 hissəyə bölündü (hər artım təxminən 20 saniyədir). Bütün rəqəmləri bir sətirdə saxlamaq əvəzinə, 12 rəqəm 4 rəqəmdən ibarət 3 cərgəyə ayrıldı. Əsl ikili rəqəmlər dəyişməsə də, bu, saatı 3 ikili kodlu onaltılı rəqəm kimi oxumağa imkan verir, birinci sətir günün 16-nı (1.5 saat), ikinci sətir günün 256-nı (~ 5 dəqiqə) və günün 4096'sını (~ 20 saniyə) göstərən üçüncü sətir.

Saat, ESP8266 istifadə edərək NTP (Şəbəkə Zaman Protokolu) ilə sinxronlaşdırılır. ESP8266, işə salındıqda, saatdakı bir düyməyə basaraq onu parametrlər rejiminə göndərəcək şəkildə qurulmuşdur. Ayarlar rejimində, saat öz wifi parametrlərinizə, NTP serverinizə və saat qurşağınıza daxil olmaq üçün istifadə edilə bilən bir veb səhifəsinə xidmət edən bir WiFi şəbəkəsi yaradacaq. Bu məlumatlar ESP8266 -nın EEPROM -da saxlanılır və saata saat rejimində başladıqda oxunur ki, internetə qoşula və vaxtı əldə edə bilsin.

Təchizat:

  • NodeMCU ESP8266
  • WS2812B LED şeridi
  • Düymə
  • 470 Ohm müqavimət
  • 10K Ohm müqavimət
  • 470 uF kondansatör
  • Popsicle çubuqları
  • Mərmər
  • Çanta üçün ağac (və ya digər material vərəqi)

Addım 1: Dövrə

Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə

Bir ekrana sahib olmaq üçün bu layihə 3 cərgəyə qoyulmuş bir RGB LED şeridi istifadə edir. WS2812B led şeridindən 8 leddən 3 zolaq kəsdim və birlikdə lehim etdim. (Kövrəkdirlər və kiçik yastiqcikləri lehimləmək çətin ola bilər. Lehimlənmiş uclarını hər hansı bir əyilmədən izolyasiya etmək üçün elektrik lentinə bükdüm.) Hər cərgədə cəmi 4 ledə ehtiyacım olsa da, 8 ədəd şeridi kəsdim. yalnız hər bir digər leddən istifadə edərək işıqlar arasında daha çox boşluq ola bilər. Bu zolaqlar daha sonra popsicle çubuqlarından düz bir bazaya yapışdırıldı. Hər sıra arasında, ön tərəfi saat korpusunun içərisinə yapışdırmaq üçün profili təmin edən ikiqat təbəqə çubuqları (şəkilə bax).

Led şeridi NodeMCU -nun VU və GND -dən təchiz edilmişdir. VU (demək olar ki) birbaşa USB -dən gəlir, buna görə ESP8266 3.3V -də işləsə də WS2812B LED -lərinə 5V təmin edir. Ledləri qorumaq üçün WS2812B şeridinin gücünə 470 uF kondansatör qoydum. Led şeridi üçün məlumatlar 470 Ohm müqavimət vasitəsi ilə NodeMCU -nun D3 pininə qoşulur. WS2812B ledlərini ESP8266 ilə necə idarə etmək barədə daha çox məlumat üçün bu təlimata baxın. Dövrə, NodeMCU üçün bəzi kişilərdən qadınlara başlıqları olan proto lövhəyə lehimləndi.

NodeMCU -nun D6 -na bir düymə də əlavə edildi. Bu düymə, saat başlayanda onu parametrlər rejiminə göndərmək üçün basıla bilər (wifi parametrləri, NTP serveri və saat qurşağı seçimlərinin dəyişdirilə biləcəyi). Bir tərəfdən düymə D6 -ya, həmçinin 10K Ohm müqavimət vasitəsi ilə GND -yə, digər tərəfdən isə gücə bağlıdır. Düymə sıxılmadıqda, D6 aşağı oxuyur; basıldığında, D6 yüksək oxuyur.

Addım 2: Proqram təminatı

Proqram təminatı
Proqram təminatı

ESP8266 üçün proqram Arduino kodu ilə yazılmışdır. LEDlər FastLED kitabxanası ilə idarə olunur və NTP sinxronizasiyası NTPClient kitabxanası tərəfindən aparılır. Zaman hər saat NTP ilə senkronize edilir.

Quraşdırma funksiyasının başlanğıcında, proqram D6 -ya bağlı düymənin basıldığını yoxlayır. Əgər belədirsə, ESP8266 bir wifi şəbəkəsi yaradır (SSID və şifrə kodda dəyişdirilə bilər, standart SSID "TrueBinary" və parol "thepoweroftwo"). İstənilən cihazdan bu şəbəkəyə qoşulun və 192.168.1.1 -ə gedin. ESP8266, Wi -Fi SSID və şifrənizi, üstünlük verilən NTP serverinizi və UTC -dən vaxt qurşağının ofsetini daxil edə biləcəyiniz formaları olan bir veb səhifəyə xidmət edəcək. Bu formalar ESP8266 -ya təqdim edildikdən sonra məlumatı daxili EEPROM yaddaşına saxlayacaq.

Düymə basılmazsa, saat normal işə başlayır, EEPROM -dan parametrləri oxuyur, NTP -dən istifadə etmək üçün wifi -yə qoşulur və vaxtı göstərməyə başlayır.

DİQQƏT: setDisplay (int indeksi) funksiyası 0-11 rəqəmini alır, burada 0 ilk rəqəmdir (yarım gün) və 11 sonuncu (günün 1/4096) və "" düyməsini istifadə edərək müvafiq LED-i yandırır. led "massivi. Bu funksiya ekranı necə qurduğunuza görə doldurulmalıdır. Şərh yazdığım nümunə, satırları sona çatmaq əvəzinə ziq-zaq üsulu ilə necə lehimlədiyimə və digər LED-ləri atladığıma uyğundur.

Addım 3: Mənzil

Mənzil
Mənzil
Mənzil
Mənzil
Mənzil
Mənzil

Saatı yerləşdirmək üçün təsadüfən boyalı ağacdan bir açı istifadə etdim. Bir xarici üzdə, LEDlərin mövqelərinə uyğun bir ızgarada 12 delik açdım. Daha sonra LEDləri açılar içərisinə yapışdıraraq popsicle çubuqlarının qaldırılmış üzlərini sıraların arasına taxtaya yapışdırdım (göstərildiyi kimi). LED -lərdən işığı yaymaq üçün çuxurların üstünə şüşə mərmər yapışdırdım. Bunu hər bir mərmərin alt yarısını epoksi qatranına batırıb sonra deliklərə qoyaraq bacardım. NodeMCU və proto-lövhə bucağın digər iç üzünə vidalanmışdır. Yan tərəflər taxta yapışqan ilə bərkidilmiş kiçik ağac üçbucaqları ilə örtülmüşdür. Yanlardan birində NodeMCU mikro USB portu üçün bir çuxur və düymənin küncündə bir kəsik var.

Addım 4: Tamamlandı

Bitdi!
Bitdi!
Bitdi!
Bitdi!

Əsl ikili saatımız bitdi! Qurmaq üçün düyməni basıb saxlayın, ayarlar rejiminə qoyun və Wi -Fi etimadnaməsini veb səhifəsinə daxil edin. Saat qurulduqdan sonra istənilən yerə qoşula bilər və avtomatik olaraq internetə qoşulacaq və vaxtı ikili olaraq göstərməyə başlayacaq.

Əsl ikili formatda vaxt oxumaq üçün bir az təcrübə lazımdır, amma əyləncəli bir məşqdir və bir müddət sonra yalnız bir baxışla vaxta çatmağın sürətli bir yoluna çevrilir!

Tövsiyə: