Sadržaj:

Pravi binarni sat s NTP sinkronizacijom: 4 koraka
Pravi binarni sat s NTP sinkronizacijom: 4 koraka

Video: Pravi binarni sat s NTP sinkronizacijom: 4 koraka

Video: Pravi binarni sat s NTP sinkronizacijom: 4 koraka
Video: Architecture Kata - узнай каково это быть архитектором [#ityoutubersru] 2024, Srpanj
Anonim
Pravi binarni sat s NTP sinkronizacijom
Pravi binarni sat s NTP sinkronizacijom
Pravi binarni sat s NTP sinkronizacijom
Pravi binarni sat s NTP sinkronizacijom

Pravi binarni sat prikazuje doba dana kao zbroj binarnih razlomaka cijelog dana, za razliku od tradicionalnog "binarnog sata" koji prikazuje vrijeme u obliku binarno kodiranih decimalnih znamenki koje odgovaraju satima/minutama/sekundama. Tradicionalni "binarni satovi" stvarno koriste binarno-kodirano-decimalno-kodirano-seksagesimalno. Koji nered! Istinski binarni satovi uvelike pojednostavljuju stvari.

U pravom binarnom satu prva znamenka govori vam da je pola dana, druga znamenka je četvrtina dana, treća znamenka je osmina dana itd. Može se pročitati do bilo koje razlučivosti vrlo brzo (naravno uz praksu). Prva znamenka učinkovito kodira AM u odnosu na PM, druga znamenka kodira je li rani AM/PM ili kasni AM/PM itd.

Pri dizajniranju svog pravog binarnog sata koristio sam dvanaest znamenki rezolucije, pa je dan podijeljen na 2^12 = 4096 dijelova (svaki prirast je otprilike 20 sekundi). Umjesto da sve znamenke budu u redu, 12 znamenki je podijeljeno u 3 reda po 4 znamenke. Iako su stvarne binarne znamenke nepromijenjene, to omogućuje čitanje sata kao 3 binarno kodirane šesterostruke znamenke, prvi redak prikazuje 16-te dane (1,5 sata), drugi redak prikazuje 256-te dane (~ 5 minuta) i treći redak koji prikazuje 4096 -ih dana (~ 20 sekundi).

Sat se sinkronizira s NTP (Network Time Protocol) pomoću ESP8266. ESP8266 je konfiguriran tako da ga pri pokretanju pritiskom na gumb na satu šalje u način postavki. U načinu postavki sat će stvoriti WiFi mrežu koja opslužuje web stranicu koja se može koristiti za unos vlastitih postavki WiFi -ja, NTP poslužitelja i vremenske zone. Ove se informacije pohranjuju u EEPROM uređaja ESP8266 i čitaju se kada se sat pokrene u načinu rada sata kako bi se mogao povezati s internetom i dohvatiti vrijeme.

Pribor:

  • NodeMCU ESP8266
  • WS2812B LED traka
  • Tipkalo
  • Otpor 470 Ohma
  • 10K ohmski otpornik
  • 470 uF kondenzator
  • Štapići od slatkiša
  • Klikeri
  • Drvo (ili drugi list materijala) za kućište

Korak 1: Krug

Krug
Krug
Krug
Krug
Krug
Krug
Krug
Krug

Kako bi imao zaslon, ovaj projekt koristi RGB LED traku postavljenu u 3 reda. Izrezao sam 3 trake od 8 LED dioda s trake LED dioda WS2812B i lemio ih zajedno. (Krhki su i lemljenje malih jastučića može biti teško. Lemljene krajeve omotao sam električnom trakom kako bih ih izolirao od savijanja.) Iako su mi bile potrebne samo 4 LED diode po redu, izrezao sam 8 traka mogao imati veći razmak između svjetala samo korištenjem svakog drugog LED -a. Ove su trake zatim zalijepljene na ravnu podlogu od štapića od sladoleda. Između svakog reda, dvostruki sloj štapića od sladoleda daje profil tako da se prednja strana može zalijepiti za unutrašnjost kućišta sata (vidi fotografiju).

LED traka se napaja iz VU i GND NodeMCU -a. VU napaja se (gotovo) izravno s USB -a, pa daje 5V LED -ima WS2812B iako ESP8266 radi na 3.3V. Postavio sam kondenzator od 470 uF preko snage za traku WS2812B kako bih zaštitio LED diode. Podaci za LED traku povezani su s D3 pinom NodeMCU -a preko otpornika od 470 Ohma. Za više informacija o upravljanju LED diodama WS2812B pomoću ESP8266 pogledajte ove upute. Krug je lemljen na proto-ploči s nekim zaglavljima muško-žensko za NodeMCU.

Gumb je također priključen na D6 NodeMCU -a. Ovaj gumb se može pritisnuti dok se sat pokreće kako bi se poslao u način postavki (u kojem se mogu mijenjati postavke WiFi -ja, NTP poslužitelja i postavke vremenske zone). Na jednom kraju tipkalo je spojeno na D6, a također i na GND preko 10K Ohm otpornika, a na drugom kraju je spojeno na napajanje. Kad gumb nije pritisnut, D6 čita nisko; kada se pritisne, D6 čita visoko.

Korak 2: Softver

Softver
Softver

Softver za ESP8266 napisan je pomoću Arduino koda. S LED -ima se rukuje pomoću FastLED knjižnice, a NTP sinkronizaciju vrši NTPClient knjižnica. NTP sinkronizira vrijeme svakih sat vremena.

Na početku funkcije postavljanja program provjerava je li pritisnuta tipka spojena na D6. Ako jest, ESP8266 stvara WiFi mrežu (SSID i lozinka se mogu promijeniti u kodu, zadani SSID je "TrueBinary", a lozinka "thepoweroftwo"). Povežite se s ovom mrežom s bilo kojeg uređaja i prijeđite na 192.168.1.1. ESP8266 poslužit će web stranicu s obrascima na kojima možete unijeti svoj Wi -Fi SSID i lozinku, željeni NTP poslužitelj i pomak vremenske zone od UTC -a. Nakon što se ti obrasci pošalju na ESP8266, spremit će podatke u svoju internu pohranu EEPROM -a.

Ako gumb ne pritisnete, sat se normalno pokreće, čita postavke s EEPROM -a, povezuje se na WiFi radi korištenja NTP -a i počinje prikazivati vrijeme.

NAPOMENA: funkcija setDisplay (int indeks) uzima znamenkasti broj od 0-11 gdje je 0 prva znamenka (pola dana), a 11 posljednja (1/4096 dana) i uključuje odgovarajuću LED diodu pomoću tipke " leds "niz. Ova se funkcija mora popuniti prema načinu na koji ste konfigurirali zaslon. Moj izneseni primjer odgovara tome kako sam lemio redove na cik-cak način, a ne od kraja do kraja i preskočio svaku drugu LED.

Korak 3: Stanovanje

Kućište
Kućište
Kućište
Kućište
Kućište
Kućište

Za smještaj sata koristio sam kut od obojenog drveta koji sam slučajno imao. Na jednoj vanjskoj strani izbušio sam 12 rupa u rešetki koje odgovaraju pozicijama LED dioda. Zatim sam zalijepio LED diode na unutarnju stranu kuta lijepljenjem podignutih strana štapića za sladoled između redova na drvo (kako je prikazano). Kako bih raspršio svjetlo s LED dioda, zalijepio sam staklene mramore na rupe. To sam postigao tako što sam donju polovicu svakog mramora umočio u epoksidnu smolu, a zatim ih stavio u rupe. NodeMCU i proto-ploča su uvijeni u drugu unutrašnju stranu kuta. Stranice su prekrivene malim trokutima od drva, pričvršćene ljepilom za drvo. Jedna od strana ima otvor za mikro USB priključak NodeMCU -a i izrez u kutu za tipku.

Korak 4: Gotovo

Gotovo!
Gotovo!
Gotovo!
Gotovo!

Naš pravi binarni sat je gotov! Da biste ga postavili, držite gumb pritisnutim dok ga priključujete kako biste ga prebacili u način postavki, a zatim unesite vjerodajnice za WiFi na svojoj web stranici. Nakon postavljanja, sat se može priključiti bilo gdje i automatski će se povezati s internetom te će početi prikazivati vrijeme u binarnom obliku.

Za čitanje vremena u pravom binarnom formatu potrebno je malo vježbe, ali to je zabavna vježba i nakon nekog vremena postaje brz način da dobijete vrijeme samo jednim pogledom!

Preporučeni: