Obsah:

Skutočné binárne hodiny so synchronizáciou NTP: 4 kroky
Skutočné binárne hodiny so synchronizáciou NTP: 4 kroky

Video: Skutočné binárne hodiny so synchronizáciou NTP: 4 kroky

Video: Skutočné binárne hodiny so synchronizáciou NTP: 4 kroky
Video: Секреты энергичных людей / Трансформационный интенсив 2024, November
Anonim
Skutočné binárne hodiny so synchronizáciou NTP
Skutočné binárne hodiny so synchronizáciou NTP
Skutočné binárne hodiny so synchronizáciou NTP
Skutočné binárne hodiny so synchronizáciou NTP

Skutočné binárne hodiny zobrazujú denný čas ako súčet binárnych zlomkov celého dňa, na rozdiel od tradičných „binárnych hodín“, ktoré zobrazujú čas ako binárne kódované desatinné číslice zodpovedajúce hodinám/minútam/sekundám. Tradičné „binárne hodiny“skutočne používajú sexagesimal s binárnym kódovaním-desatinným kódom. Aký neporiadok! Skutočné binárne hodiny veci veľmi zjednodušujú.

V skutočných binárnych hodinách vám prvá číslica hovorí pol dňa, druhá číslica je štvrť dňa, tretia číslica je ôsma deň atď. Je možné ju veľmi rýchlo prečítať v akomkoľvek rozlíšení (samozrejme s praxou)). Prvá číslica efektívne kóduje AM oproti PM, druhá číslica kóduje, či je skorá dopoludnia/PM alebo neskorá dopoludnia/PM atď.

Pri navrhovaní mojich skutočných binárnych hodín som použil rozlíšenie dvanástich číslic, takže deň je rozdelený na 2^12 = 4096 častí (každý prírastok je približne 20 sekúnd). Namiesto toho, aby boli všetky číslice v rade, bolo 12 číslic rozdelených do 3 radov po 4 číslice. Aj keď sú skutočné binárne číslice nezmenené, umožňujú to hodiny čítať ako tri binárne kódované hexadecimálne číslice, pričom prvý riadok zobrazuje 16-te dni (1,5 hodiny), druhý riadok zobrazuje 256-tý deň (~ 5 minút) a tretí riadok ukazuje 4096 minút dňa (~ 20 sekúnd).

Hodiny sú synchronizované s NTP (Network Time Protocol) pomocou ESP8266. ESP8266 je nakonfigurovaný tak, aby pri spustení stlačením tlačidla na hodinách prešiel do režimu nastavenia. V režime nastavení hodiny vytvoria sieť WiFi, ktorá slúži na webovú stránku, pomocou ktorej je možné zadať vlastné nastavenia siete Wi -Fi, server NTP a časové pásmo. Tieto informácie sú uložené v EEPROM ESP8266 a čítajú sa pri spustení hodín v režime hodín, aby sa mohli pripojiť k internetu a načítať čas.

Zásoby:

  • NodeMCU ESP8266
  • LED pás WS2812B
  • Tlačidlo
  • Odpor 470 ohmov
  • Rezistor 10K Ohm
  • Kondenzátor 470 uF
  • Nanukové tyčinky
  • Mramory
  • Drevo (alebo iný materiál) pre puzdro

Krok 1: Okruh

Obvod
Obvod
Obvod
Obvod
Obvod
Obvod
Obvod
Obvod

Na to, aby mal tento displej displej, používa RGB LED pás usporiadaný v 3 radoch. Z prúžku LED WS2812B som odrezal 3 pásy z 8 LED a spájkoval ich dohromady. (Sú krehké a spájkovanie malých podložiek môže byť náročné. Spájkované konce som zabalil do elektrickej pásky, aby som ich izoloval od akéhokoľvek ohybu.) Napriek tomu, že som potreboval iba 4 diódy na riadok, vystrihol som pásy po 8 kusoch. mohol mať väčšiu vzdialenosť medzi svetlami iba pomocou všetkých ostatných LED. Tieto prúžky sa potom prilepili na rovný podklad vyrobený z nanukových paličiek. Medzi každým radom poskytuje profil dvojitá vrstva nanuku, takže prednú stranu je možné prilepiť o vnútornú stranu puzdra hodín (pozri fotografiu).

LED pás je napájaný z VU a GND NodeMCU. VU je napájanie (takmer) priamo z USB, takže poskytuje 5V LED WS2812B, aj keď ESP8266 pracuje pri 3,3V. Cez výkon pre pás WS2812B som umiestnil kondenzátor 470 uF na ochranu LED diód. Údaje pre LED pásik sú pripojené k pinu D3 NodeMCU cez odpor 470 Ohm. V tomto návode nájdete ďalšie informácie o tom, ako ovládať diódy WS2812B pomocou ESP8266. Obvod bol spájkovaný na proto-doske s niektorými hlavičkami medzi mužmi a ženami pre NodeMCU.

K D6 NodeMCU bolo tiež pripevnené tlačidlo. Toto tlačidlo je možné stlačiť pri spustení hodín, aby sa odoslali do režimu nastavení (v ktorom je možné zmeniť nastavenia wifi, server NTP a predvoľby časového pásma). Na jednom konci je tlačidlo pripojené k D6 a tiež k GND cez odpor 10K Ohm a na druhom konci je pripojené k napájaniu. Keď nie je tlačidlo stlačené, D6 číta nízko; keď je stlačený, D6 číta vysoko.

Krok 2: Softvér

Softvér
Softvér

Softvér pre ESP8266 bol napísaný pomocou kódu Arduino. LED diódy sú ovládané pomocou knižnice FastLED a synchronizáciu NTP vykonáva knižnica NTPClient. Čas je synchronizovaný pomocou NTP každú hodinu.

Na začiatku funkcie nastavenia program skontroluje, či je stlačené tlačidlo pripojené k D6. Ak je, ESP8266 vytvorí wifi sieť (SSID a heslo je možné v kóde zmeniť, predvolené SSID je „TrueBinary“a heslo „thepoweroftwo“). Pripojte sa k tejto sieti z akéhokoľvek zariadenia a prejdite na adresu 192.168.1.1. ESP8266 bude slúžiť ako webová stránka s formulármi, kde môžete zadať svoje SSID a heslo wifi, preferovaný server NTP a časový posun offsetu od UTC. Po odoslaní týchto formulárov do ESP8266 údaje uloží do svojho interného úložiska EEPROM.

Ak tlačidlo nestlačíte, hodiny sa spustia normálne, načítajú nastavenia z EEPROM, pripoja sa k sieti Wi -Fi a používajú protokol NTP a začnú zobrazovať čas.

POZNÁMKA: Funkcia setDisplay (int index) preberá číslice od 0 do 11, kde 0 je prvá číslica (poldeň) a 11 je posledná (1/4096 dňa) a rozsvieti príslušnú diódu LED pomocou „ pole LED. Túto funkciu je potrebné vyplniť podľa toho, ako ste nakonfigurovali displej. Môj komentovaný príklad zodpovedá tomu, ako som spájkoval riadky cik-cak, a nie end-to-end a preskočil všetky ostatné LED diódy.

Krok 3: Bývanie

Bývanie
Bývanie
Bývanie
Bývanie
Bývanie
Bývanie

Na uloženie hodín som použil uhol lakovaného dreva, ktoré som náhodou mal. Na jednom vonkajšom čele som vyvŕtal 12 otvorov do mriežky zodpovedajúcej polohám LED diód. Potom som LED diódy prilepil na vnútornú stranu uhla prilepením vyvýšených tvárí tyčiniek nanuku medzi riadky k drevu (ako je znázornené). Aby som rozptýlil svetlo z LED diód, nalepil som na otvory diery sklenené guličky. Dosiahol som to tak, že spodnú polovicu každého mramoru namočím do epoxidovej živice a potom ich vložím do otvorov. NodeMCU a proto-doska boli zaskrutkované do druhej vnútornej strany uhla. Boky boli pokryté malými trojuholníkmi z dreva, prichytenými lepidlom na drevo. Jedna zo strán má otvor pre port micro USB NodeMCU a výrez v rohu pre tlačidlo.

Krok 4: Hotovo

Hotový!
Hotový!
Hotový!
Hotový!

Naše pravé binárne hodiny sú hotové! Ak ho chcete nastaviť, podržte tlačidlo zapojené a prepnite ho do režimu nastavení a potom zadajte poverenia WiFi na jeho webovej stránke. Po nastavení je možné hodiny zapojiť kdekoľvek a automaticky sa pripoja k internetu a začnú zobrazovať čas v binárnom formáte.

Čítanie času v skutočnom binárnom formáte vyžaduje určité miesto na cvičenie, ale je to zábavné cvičenie a po chvíli sa z neho stane rýchly spôsob, ako si nájsť čas jediným pohľadom!

Odporúča: