Mündəricat:
Video: NTP Sync ilə Əsl İkili Saat: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Ə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ə
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ı
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
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ı
Ə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ə:
CPE 133 İkili İkili Onlu Final Layihəsi: 5 Addım
CPE 133 Final Projesi İkili İkili: İkili Nömrələr rəqəmsal məntiq düşünərkən ağla gələn ilk şeylərdən biridir. Bununla birlikdə, İkili Nömrələr yeni başlayanlar üçün çətin bir anlayış ola bilər
Arduino istifadə edərək Led Strip ilə Analog Saat və Rəqəmsal Saat Necə Hazırlanır: 3 Addım
Arduino istifadə edərək Led Strip ilə Analog Saat və Rəqəmsal Saat Necə Hazırlanır: Bu gün biz Analog Clock & Led Strip və Arduino ilə MAX7219 Dot modulu olan rəqəmsal saat yerli vaxt qurşağı ilə saatı düzəldəcək. Analog saat daha uzun bir LED şeridi istifadə edə bilər, buna görə də sənətkar olmaq üçün divara asıla bilər
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: 10 addım (şəkillərlə)
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: Heç ağıllı bir saat istəmisinizmi? Əgər belədirsə, bu sizin üçün bir həlldir! Ağıllı Zəngli Saat hazırladım, bu veb saytına görə zəngli saatını dəyişə biləcəyiniz bir saatdır. Siqnal çalınanda bir səs (zil) olacaq və 2 işıq yanacaq
ESP8266 istifadə edərək İnternetdən vaxt əldə etmək - ESP8266 Nodemcu ilə NTP Saat Layihəsi: 5 addım
ESP8266 istifadə edərək İnternetdən vaxt əldə etmək | ESP8266 Nodemcu ilə NTP Saat Layihəsi: Bu təlimatda Arduino IDE ilə ESP8266/nodemcu istifadə edərək necə vaxt qazanacağımızı görəcəyik. Vaxt əldə etmək, oxunuşlarınızı zaman damgası ilə qeyd etmək üçün xüsusilə faydalıdır. ESP8266 layihənizin İnternetə çıxışı varsa, Network T istifadə edərək vaxt qazana bilərsiniz
Kompüteriniz üçün əsl zəng vuran bir saat və yanğınsöndürən bir saat yaradın .: 3 addım (şəkillərlə)
Kompüteriniz üçün əsl zəng vuran bir saat və yanğınsöndürmə saatı yaradın .: Bir pirinç zəngi, kiçik bir neçə şey və əsl bir zəng masaüstünüzdəki saatları vura bilər. Bu layihə Windows və Mac-da işləyir. OS X də, zibil qutusunda tapdığım bir kompüterə Ubuntu Linux qurmaq qərarına gəldim və bu işlə məşğul oldum: heç vaxt