Sadržaj:

Pravi binarni sat sa NTP sinhronizacijom: 4 koraka
Pravi binarni sat sa NTP sinhronizacijom: 4 koraka

Video: Pravi binarni sat sa NTP sinhronizacijom: 4 koraka

Video: Pravi binarni sat sa NTP sinhronizacijom: 4 koraka
Video: Электрический или водяной полотенцесушитель? Что выбрать? Установка. #25 2024, Juli
Anonim
Pravi binarni sat sa NTP sinhronizacijom
Pravi binarni sat sa NTP sinhronizacijom
Pravi binarni sat sa NTP sinhronizacijom
Pravi binarni sat sa NTP sinhronizacijom

Pravi binarni sat prikazuje doba dana kao zbir 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" zaista koriste binarno-kodirano-decimalno-kodirano-seksagesimalno. Kakav nered! Pravi binarni satovi uvelike pojednostavljuju stvari.

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

Prilikom dizajniranja mog 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, ovo omogućava da se sat čita kao 3 binarno kodirane šesterocifrene znamenke, prvi red prikazuje 16-ih dana (1,5 sati), drugi red prikazuje 256-ih dana (~ 5 minuta) i treći red koji prikazuje 4096 -ih dana (~ 20 sekundi).

Sat se sinhronizuje sa NTP (Network Time Protocol) pomoću ESP8266. ESP8266 je konfiguriran tako da ga pri pokretanju pritiskom na dugme 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 servera i vremenske zone. Ove informacije se čuvaju u EEPROM -u ESP8266 i čitaju se kada se sat pokrene u načinu rada sata kako bi se mogao povezati s internetom i dohvatiti vrijeme.

Potrošni materijal:

  • NodeMCU ESP8266
  • WS2812B LED traka
  • Taster
  • Otpor 470 Ohma
  • 10K ohmski otpornik
  • 470 uF kondenzator
  • Štapići od slatkiša
  • Mermer
  • 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 sa 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 bi imati veći razmak između svjetala samo korištenjem svakog drugog LED -a. Ove trake su 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) direktno s USB -a, tako da daje 5V na WS2812B LED diode 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 sa D3 pinom NodeMCU -a preko otpornika od 470 Ohma. Za više informacija o upravljanju LED diodama WS2812B pomoću ESP8266 pogledajte ovo uputstvo. Krug je lemljen na proto-ploči s nekim zaglavljima muško-žensko za NodeMCU.

Taster je takođe priključen na D6 NodeMCU -a. Ovo dugme se može pritisnuti dok se sat pokreće da ga pošalje u način postavki (u kojem se mogu promijeniti postavke WiFi -ja, NTP servera 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. Kada dugme nije pritisnuto, D6 čita nisko; kada se pritisne, D6 čita visoko.

Korak 2: Softver

Softver
Softver

Softver za ESP8266 napisan je pomoću Arduino koda. LED -ima se rukuje pomoću FastLED biblioteke, a NTP sinhronizaciju vrši NTPClient biblioteka. NTP sinhronizira vrijeme svakih sat vremena.

Na početku funkcije postavljanja program provjerava je li pritisnuto dugme spojeno na D6. Ako jeste, ESP8266 stvara WiFi mrežu (SSID i lozinka se mogu promijeniti u kodu, zadani SSID je "TrueBinary", a lozinka "thepoweroftwo"). Povežite se na ovu mrežu 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 prema UTC -u. Nakon što se ti obrasci pošalju na ESP8266, oni će spremiti podatke u svoju internu pohranu EEPROM -a.

Ako dugme ne pritisnete, sat će se normalno pokrenuti, pročitati postavke s EEPROM -a, povezati se na WiFi radi korištenja NTP -a i početi prikazivati vrijeme.

NAPOMENA: funkcija setDisplay (int indeks) uzima cifreni 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. Ovu funkciju morate popuniti prema načinu na koji ste konfigurirali zaslon. Moj komentirani primjer odgovara tome kako sam lemio redove cik-cak, a ne od kraja do kraja i preskočio svaku drugu LED.

Korak 3: Stanovanje

Stanovanje
Stanovanje
Stanovanje
Stanovanje
Stanovanje
Stanovanje

Za smještaj sata koristio sam kut ofarbanog drveta koji sam slučajno imao. Na jednoj vanjskoj strani izbušio sam 12 rupa u mreži koje odgovaraju pozicijama LED dioda. Zatim sam zalijepio LED diode na unutrašnjost kuta lijepljenjem podignutih strana štapića za sladoled između redova na drvo (kako je prikazano). Da bih raspršio svjetlo sa 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 uvrnuti u drugu unutrašnju stranu ugla. Stranice su prekrivene malim trokutima od drveta, pričvršćenim 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 pritisnuto dugme dok ga priključujete kako biste ga prebacili u način postavki, a zatim unesite WiFi vjerodajnice na svojoj web stranici. Nakon postavljanja, sat se može priključiti bilo gdje i automatski će se povezati s internetom i 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čuje se: