Kazalo:

Prava binarna ura s sinhronizacijo NTP: 4 koraki
Prava binarna ura s sinhronizacijo NTP: 4 koraki

Video: Prava binarna ura s sinhronizacijo NTP: 4 koraki

Video: Prava binarna ura s sinhronizacijo NTP: 4 koraki
Video: НОВИЧОК НАШЕЛ ОГНЕСТРЕЛ! ПЕРВЫЙ РЕЙД НОВИЧКА – Last Day on Earth: Survival 2024, Julij
Anonim
Prava binarna ura s sinhronizacijo NTP
Prava binarna ura s sinhronizacijo NTP
Prava binarna ura s sinhronizacijo NTP
Prava binarna ura s sinhronizacijo NTP

Prava binarna ura prikazuje čas v dnevu kot vsoto binarnih ulomkov celotnega dne, v nasprotju s tradicionalno "binarno uro", ki čas prikazuje kot binarno kodirane decimalne številke, ki ustrezajo uram/minutam/sekundam. Tradicionalne "binarne ure" res uporabljajo binarno-kodirano-decimalno-kodirano-seksagesimalno. Kakšen nered! Prave binarne ure stvari izjemno poenostavijo.

V pravi binarni uri prva številka pove pol dneva, druga številka je četrtino, tretja številka je osmina dneva itd. Lahko jo zelo hitro preberete v katero koli ločljivost (seveda s prakso). Prva številka učinkovito kodira AM proti PM, druga številka kodira, ali je zgodnji AM/PM ali pozni AM/PM itd.

Pri oblikovanju svoje prave binarne ure sem uporabil dvanajst števk ločljivosti, zato je dan razdeljen na 2^12 = 4096 delov (vsak prirastek je približno 20 sekund). Namesto da bi vse številke hranili v vrstici, je bilo 12 števk ločenih v 3 vrstice po 4 številke. Čeprav so dejanske binarne številke nespremenjene, to omogoča, da se ura bere kot 3 binarno kodirane šestnajstiške številke, prva vrstica prikazuje 16-te dneve (1,5 ure), druga vrstica prikazuje 256-te dneve (~ 5 minut) in tretja vrstica prikazuje 4096 -ih del dneva (~ 20 sekund).

Ura se sinhronizira z NTP (Network Time Protocol) z uporabo ESP8266. ESP8266 je konfiguriran tako, da ga ob zagonu pritisnete gumb na uri in ga pošljete v način nastavitev. V nastavitvenem načinu bo ura ustvarila omrežje WiFi, ki bo služilo spletni strani, s katero lahko vnesete svoje nastavitve wifi, strežnik NTP in časovni pas. Ti podatki so shranjeni v EEPROM -ju ESP8266 in se berejo, ko se ura zažene v načinu ure, tako da se lahko poveže z internetom in pridobi čas.

Zaloge:

  • NodeMCU ESP8266
  • WS2812B LED trak
  • Pritisni gumb
  • 470 ohmski upor
  • 10K ohmski upor
  • 470 uF kondenzator
  • Palčke za popsicle
  • Marmorji
  • Les (ali drug list materiala) za ohišje

1. korak: vezje

Vezje
Vezje
Vezje
Vezje
Vezje
Vezje
Vezje
Vezje

Da bi imel zaslon, ta projekt uporablja RGB LED trak, položen v 3 vrsticah. Iz traku LED diod WS2812B sem izrezal 3 trakove po 8 LED in jih spajal skupaj. (Krhki so in spajkanje majhnih blazinic je lahko težavno. Spajkane konce sem zavil v električni trak, da sem jih izoliral pred morebitnim upogibanjem.) Čeprav sem potreboval le 4 svetleče diode na vrsto, sem izrezal 8 trakov, tako da sem bi lahko imeli večji razmik med lučmi le z uporabo vseh drugih LED. Ti trakovi so bili nato prilepljeni na ravno podlago iz palčk za mačke. Vmes med vsako vrsto dvojni sloj palčk za mačke zagotavlja profil, tako da se lahko sprednja stran prilepi na notranjo stran ohišja ure (glej fotografijo).

LED trak se napaja iz VU in GND NodeMCU. VU prihaja (skoraj) neposredno iz USB -ja, zato zagotavlja 5V LED WS2812B, čeprav ESP8266 deluje pri 3.3V. Kondenzator 470 uF sem postavil čez moč traku WS2812B za zaščito LED. Podatki za LED trak so povezani z vtičem D3 NodeMCU preko upora 470 Ohm. Za več informacij o tem, kako upravljati LED diode WS2812B z ESP8266, glejte ta navodila. Vezje je bilo spajkano na proto ploščo z nekaj glavami moških in žensk za NodeMCU.

Na D6 NodeMCU je bil pritrjen tudi gumb. Ta gumb lahko pritisnete med zagonom ure in ga pošljete v način nastavitev (v katerem lahko spremenite nastavitve wifi, strežnik NTP in nastavitve časovnega pasu). Na enem koncu je gumb priključen na D6 in tudi na GND prek upora 10K Ohm, na drugem koncu pa na napajanje. Ko gumb ni pritisnjen, D6 bere nizko; ko ga pritisnete, D6 bere visoko.

2. korak: Programska oprema

Programska oprema
Programska oprema

Programska oprema za ESP8266 je bila napisana z uporabo kode Arduino. LED diode se upravljajo s knjižnico FastLED, sinhronizacijo NTP pa izvaja knjižnica NTPClient. NTP sinhronizira čas vsako uro.

Na začetku nastavitvene funkcije program preveri, ali je pritisnjen gumb, povezan z D6. Če je, ESP8266 ustvari omrežje wifi (SSID in geslo lahko spremenite v kodi, privzeti SSID je »TrueBinary«, geslo pa »thepoweroftwo«). Povežite se s tem omrežjem iz katere koli naprave in se pomaknite na 192.168.1.1. ESP8266 bo prikazal spletno stran z obrazci, na kateri lahko vnesete svoj SSID in geslo za wifi, prednostni strežnik NTP in zamik časovnega pasu od UTC. Ko bodo ti obrazci poslani v ESP8266, bo podatke shranil v svoj notranji pomnilnik EEPROM.

Če gumba ne pritisnete, se ura normalno zažene, prebere nastavitve iz EEPROM -a, se poveže z wifi za uporabo NTP in začne prikazovati čas.

OPOMBA: funkcija setDisplay (int index) vzame številsko številko od 0-11, kjer je 0 prva številka (pol dneva), 11 pa zadnja (1/4096 dneva) in vklopi ustrezno LED z gumbom " leds "matrika. To funkcijo je treba izpolniti glede na to, kako ste konfigurirali zaslon. Moj komentirani primer ustreza temu, kako sem vrstice spajkal v cik-cak načinu in ne od konca do konca in preskočil vsako drugo LED.

3. korak: Stanovanje

Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev

Za namestitev ure sem uporabil kot poslikanega lesa, ki sem ga slučajno imel. Na eni zunanji strani sem izvrtal 12 lukenj v mreži, ki ustreza položajem LED. LED diode sem nato prilepil na notranjo stran kota tako, da sem dvignjene ploske palic popsicle vmes med vrsticami zlepil na les (kot je prikazano). Za razpršitev svetlobe iz LED sem na vrhu lukenj nalepila steklene frnikole. To sem dosegel tako, da sem spodnjo polovico vsakega marmorja potopil v epoksi smolo in jih nato položil v luknje. NodeMCU in proto-plošča sta privita v drugo notranjo stran kota. Strani so bili prekriti z majhnimi lesenimi trikotniki, pritrjeni z lepilom za les. Na eni strani je luknja za vrata micro USB na NodeMCU in izrez v kotu za gumb.

4. korak: Končano

Končano!
Končano!
Končano!
Končano!

Naša prava binarna ura je končana! Če ga želite nastaviti, držite pritisnjen gumb, medtem ko ga priključite, da ga preklopite v način nastavitev, nato pa vnesite poverilnice WiFi na svoji spletni strani. Ko je ura nastavljena, jo lahko priključite kamor koli in se samodejno poveže z internetom ter začne prikazovati čas v binarni obliki.

Za branje časa v pravem binarnem formatu je potrebno nekaj vaje, vendar je to zabavna vaja in čez nekaj časa postane hiter način, da si vzamete čas le s pogledom!

Priporočena: