Përmbajtje:

Ora binare e vërtetë me sinkronizim NTP: 4 hapa
Ora binare e vërtetë me sinkronizim NTP: 4 hapa

Video: Ora binare e vërtetë me sinkronizim NTP: 4 hapa

Video: Ora binare e vërtetë me sinkronizim NTP: 4 hapa
Video: Architecture Kata - узнай каково это быть архитектором [#ityoutubersru] 2024, Korrik
Anonim
Ora binare e vërtetë me sinkronizim NTP
Ora binare e vërtetë me sinkronizim NTP
Ora binare e vërtetë me sinkronizim NTP
Ora binare e vërtetë me sinkronizim NTP

Një orë binare e vërtetë shfaq kohën e ditës si një shumë të thyesave binare të një dite të plotë, në krahasim me një "orë binare" tradicionale që shfaq kohën si shifra dhjetore të koduara binare që korrespondojnë me orët/minutat/sekondat. "Orët binare" tradicionale po përdorin me të vërtetë binoksi-koduar-dhjetor-koduar-sexagesimal. Çfarë rrëmuje! Orët e vërteta binare i thjeshtojnë gjërat jashtëzakonisht shumë.

Në një orë binare të vërtetë, shifra e parë ju tregon gjysmën e ditës, shifra e dytë është një çerek ditë, shifra e tretë është një e teta e ditës, etj. Mund të lexohet në çdo rezolutë shumë shpejt (me praktikë sigurisht) Shifra e parë në mënyrë efektive kodon AM kundrejt PM, shifra e dytë kodon nëse është AM/PM e hershme ose AM/PM vonë, etj.

Në hartimin e orës time të vërtetë binare, kam përdorur dymbëdhjetë shifra të rezolucionit, kështu që dita ndahet në 2^12 = 4096 pjesë (secila rritje është afërsisht 20 sekonda). Në vend që të mbanin të gjithë shifrat në një rresht, 12 shifrat u ndanë në 3 rreshta me 4 shifra. Megjithëse shifrat binare aktuale janë të pandryshuara, kjo lejon që ora të lexohet si 3 shifra gjashtëkëndore të koduara binare, rreshti i parë që tregon 16-të e ditës (1.5 orë), rreshti i dytë që tregon 256-të e ditës (minutes 5 minuta), dhe rreshti i tretë që tregon 4096 -të e ditës (~ 20 sekonda).

Ora sinkronizohet me NTP (Network Time Protocol) duke përdorur një ESP8266. ESP8266 është konfiguruar në mënyrë që, gjatë fillimit, shtypja e një butoni në orë do ta dërgojë atë në modalitetin e cilësimeve. Në modalitetin e cilësimeve, ora do të krijojë një rrjet WiFi që shërben në një faqe në internet që mund të përdoret për të futur cilësimet tuaja wifi, serverin NTP dhe zonën kohore. Ky informacion ruhet në EEPROM të ESP8266 dhe lexohet kur ora fillon në modalitetin e orës në mënyrë që të lidhet me internetin dhe të marrë kohën.

Furnizimet:

  • NodeMCU ESP8266
  • Shirit LED WS2812B
  • Butoni i butonit
  • Rezistencë 470 Ohm
  • Rezistencë 10K Ohm
  • Kondensator 470 uF
  • Shkopinj të vegjël
  • Mermerët
  • Druri (ose fletë tjetër materiali) për rastin

Hapi 1: Qarku

Qarku
Qarku
Qarku
Qarku
Qarku
Qarku
Qarku
Qarku

Për të pasur një ekran, ky projekt përdor një shirit led RGB të vendosur në 3 rreshta. Kam prerë 3 shirita me 8 led nga shiriti i leds WS2812B dhe i bashkova ato së bashku. (Ato janë të brishta dhe ngjitja e jastëkëve të vegjël mund të jetë e vështirë. I mbështolla skajet e ngjitura në shirit elektrik në mënyrë që t'i izoloja nga çdo lakim.) Edhe pse më duheshin vetëm 4 llamba për rresht, unë preva shirita prej 8 në mënyrë që të mund të ketë hapësirë më të madhe midis dritave vetëm duke përdorur çdo led tjetër. Këto shirita u ngjitën më pas në një bazë të sheshtë të bërë nga shkopinj të akullit. Në mes të secilës rresht, një shtresë e dyfishtë e shkopinjve të akullit siguron profilin në mënyrë që faqja e përparme të ngjitet në pjesën e brendshme të kutisë së orës (shiko foton).

Shiriti i drejtuar mundësohet nga VU dhe GND i NodeMCU. VU vjen nga fuqia (pothuajse) drejtpërdrejt nga USB, kështu që siguron 5V për LED -të WS2812B edhe pse ESP8266 punon në 3.3V. Vendosa një kondensator 470 uF në të gjithë fuqinë për shiritin WS2812B për të mbrojtur ledet. Të dhënat për shiritin e udhëhequr lidhen me kunjin D3 të NodeMCU përmes rezistencës 470 Ohm. Referojuni këtij udhëzuesi për më shumë informacion se si të kontrolloni udhëheqësit WS2812B me ESP8266. Qarku u lidh në proto-bord me disa tituj meshkuj-femra për NodeMCU.

Një buton u ngjit gjithashtu në D6 të NodeMCU. Ky buton mund të shtypet ndërsa ora po fillon për ta dërguar në modalitetin e cilësimeve (në të cilat mund të modifikohen cilësimet wifi, serveri NTP dhe preferencat e zonës kohore). Në njërën anë butoni i shtypjes është i lidhur me D6 dhe gjithashtu me GND përmes një rezistence 10K Ohm dhe në anën tjetër është e lidhur me energjinë. Kur butoni nuk shtypet, D6 lexon ulët; kur shtypet, D6 lexon lart.

Hapi 2: Softueri

Softuer
Softuer

Softueri për ESP8266 është shkruar duke përdorur kodin Arduino. LED -të trajtohen duke përdorur bibliotekën FastLED dhe sinkronizimi i NTP bëhet nga biblioteka NTPClient. Koha sinkronizohet nga NTP çdo orë.

Në fillim të funksionit të konfigurimit, programi kontrollon për të parë nëse shtypet butoni i lidhur me D6. Nëse është, ESP8266 krijon një rrjet wifi (SSID dhe fjalëkalimi mund të ndryshohen në kod, SSID i paracaktuar është "TrueBinary" dhe fjalëkalimi është "thepoweroftwo"). Lidhuni me këtë rrjet nga çdo pajisje dhe lundroni te 192.168.1.1. ESP8266 do të shërbejë në një faqe në internet me forma ku mund të futni SSID dhe fjalëkalimin tuaj wifi, serverin e preferuar NTP dhe zonën kohore të kompensuar nga UTC. Pasi këto forma të dorëzohen në ESP8266, ai do t'i ruajë informacionet në ruajtjen e tij të brendshme EEPROM.

Nëse butoni nuk shtypet, ora fillon normalisht, lexon cilësimet nga EEPROM, lidhet me wifi për të përdorur NTP dhe fillon të shfaqë kohën.

SH NOTNIM: funksioni i vendosurDisplay (int index) merr numrin shifror nga 0-11 ku 0 është shifra e parë (gjysma e ditës) dhe 11 është e fundit (1/4096 e një dite) dhe ndez LED-in përkatës duke përdorur "" grup "leds". Ky funksion duhet të plotësohet sipas mënyrës së konfigurimit të ekranit. Shembulli im i komentuar korrespondon me mënyrën se si i bashkova rreshtat në një mënyrë zig-zag sesa në skaj nga fundi dhe kalova çdo LED tjetër.

Hapi 3: Strehimi

Strehimi
Strehimi
Strehimi
Strehimi
Strehimi
Strehimi

Për të vendosur orën, kam përdorur një kënd prej druri të pikturuar që më ndodhi. Në një faqe të jashtme, unë shpova 12 vrima në një rrjet që korrespondonin me pozicionet e LED -ve. Më pas i ngjita LED-të në brendësi të këndit duke ngjitur faqet e ngritura të shkopinjve të populles në mes të rreshtave në dru (siç tregohet). Për të shpërndarë dritën nga LED -të, unë mbërtheva mermer xhami në majë të vrimave. Unë e arrita këtë duke zhytur gjysmën e poshtme të secilit mermer në rrëshirë epoksi dhe pastaj duke i vendosur ato në vrima. NodeMCU dhe proto-bordi u vidhosën në faqen tjetër të brendshme të këndit. Anët ishin të mbuluara duke përdorur trekëndësha të vegjël druri, të bashkangjitur me zam druri. Njëra nga anët ka një vrimë për portën mikro USB të NodeMCU dhe një prerje në qoshe për butonin shtytës.

Hapi 4: U krye

U krye!
U krye!
U krye!
U krye!

Ora jonë binare e vërtetë ka përfunduar! Për ta konfiguruar, mbajeni të shtypur butonin ndërsa e lidhni për ta vendosur në modalitetin e cilësimeve dhe më pas futni kredencialet WiFi në faqen e saj në internet. Pasi të vendoset, ora mund të lidhet kudo dhe do të lidhet automatikisht me internetin dhe do të fillojë të shfaqë kohën në binar.

Duhet një sasi praktike për të lexuar kohën në format binar të vërtetë, por është një ushtrim argëtues dhe pas një kohe bëhet një mënyrë e shpejtë për të marrë kohën me një shikim të vetëm!

Recommended: