Cuprins:
Video: Ceas binar adevărat cu sincronizare NTP: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Un adevărat ceas binar afișează ora din zi ca o sumă a fracțiilor binare ale unei zile întregi, spre deosebire de un „ceas binar” tradițional care afișează ora ca cifre zecimale codate binar corespunzătoare orelor / minutelor / secundelor. „Ceasurile binare” tradiționale folosesc într-adevăr binar-codificat-zecimal-codificat-sexagesimal. Ce mizerie! Ceasurile binare adevărate simplifică imens lucrurile.
Într-un ceas binar adevărat, prima cifră îți spune că este jumătatea zilei, a doua cifră este un sfert de zi, a treia cifră este o optime dintr-o zi etc. Poate fi citită la orice rezoluție foarte repede (cu practică desigur). Prima cifră codifică efectiv AM versus PM, a doua cifră codifică indiferent dacă este vorba de AM / PM devreme sau AM târziu / PM și așa mai departe.
În proiectarea adevăratului meu ceas binar, am folosit douăsprezece cifre de rezoluție, astfel încât ziua este împărțită în 2 ^ 12 = 4096 părți (fiecare increment este de aproximativ 20 de secunde). În loc să păstreze toate cifrele într-o linie, cele 12 cifre au fost separate în 3 rânduri de 4 cifre. Deși cifrele binare reale sunt neschimbate, acest lucru permite ceasului să fie citit ca 3 cifre hexagonale codificate binar, prima linie afișând numărul 16 al zilei (1,5 ore), a doua linie afișând 256 din ziua (~ 5 minute) și a treia linie afișează 4096 de zile (~ 20 de secunde).
Ceasul este sincronizat cu NTP (Network Time Protocol) folosind un ESP8266. ESP8266 este configurat astfel încât, la pornire, apăsarea unui buton de pe ceas îl va trimite în modul setări. În modul setări, ceasul va crea o rețea WiFi care servește o pagină web care poate fi utilizată pentru a introduce propriile setări wifi, serverul NTP și fusul orar. Aceste informații sunt stocate în EEPROM-ul ESP8266 și sunt citite când ceasul pornește în modul ceas, astfel încât să se poată conecta la internet și să recupereze ora.
Provizii:
- NodeMCU ESP8266
- Benzi LED WS2812B
- Apasa butonul
- Rezistor de 470 Ohm
- Rezistor de 10K Ohm
- 470 uF condensator
- Bastoane de gheață
- Marmură
- Lemn (sau altă foaie de material) pentru carcasă
Pasul 1: Circuit
Pentru a avea un afișaj, acest proiect folosește o bandă LED RGB așezată pe 3 rânduri. Am tăiat 3 benzi de 8 leduri de pe banda de leduri WS2812B și le-am lipit împreună. (Sunt fragile și lipirea tampoanelor mici poate fi dificilă. Am înfășurat capetele lipite în bandă electrică, astfel încât să le izolez de orice îndoire.) Chiar dacă aveam nevoie doar de 4 leduri pe rând, am decupat benzi de 8, astfel încât să ar putea avea o distanță mai mare între lumini folosind doar fiecare celălalt led. Aceste benzi au fost apoi lipite de o bază plană făcută din bețe de gheață. Între fiecare rând, un strat dublu de bețe de gheață oferă profilul, astfel încât fața frontală să poată fi lipită de interiorul carcasei ceasului (vezi foto).
Banda LED este alimentată de la VU și GND ale NodeMCU. VU este alimentat (aproape) direct de pe USB, deci oferă 5V la LED-urile WS2812B, chiar dacă ESP8266 funcționează la 3,3V. Am plasat un condensator 470 uF peste putere pentru banda WS2812B pentru a proteja ledurile. Datele pentru banda LED sunt conectate la pinul D3 al NodeMCU prin intermediul rezistorului de 470 Ohm. Consultați acest instructable pentru mai multe informații despre cum să controlați ledurile WS2812B cu ESP8266. Circuitul a fost lipit pe proto-placă cu niște anteturi de la bărbat la femeie pentru NodeMCU.
De asemenea, un buton a fost atașat la D6 al NodeMCU. Acest buton poate fi apăsat în timp ce ceasul pornește pentru al trimite în modul setări (în care pot fi modificate setările wifi, serverul NTP și preferințele pentru fusul orar). La un capăt, butonul este conectat la D6 și, de asemenea, la GND printr-un rezistor de 10K Ohm, iar la celălalt capăt este conectat la alimentare. Când butonul este apăsat, D6 citește jos; când este apăsat, D6 citește mare.
Pasul 2: Software
Software-ul pentru ESP8266 a fost scris folosind codul Arduino. LED-urile sunt manipulate folosind biblioteca FastLED, iar sincronizarea NTP se face de către biblioteca NTPClient. Timpul este sincronizat de NTP la fiecare oră.
La începutul funcției de configurare, programul verifică dacă butonul conectat la D6 este apăsat. Dacă este, ESP8266 creează o rețea wifi (SSID și parola pot fi schimbate în cod, SSID implicit este „TrueBinary” și parola este „thepoweroftwo”). Conectați-vă la această rețea de pe orice dispozitiv și navigați la 192.168.1.1. ESP8266 va furniza o pagină web cu formulare în care puteți introduce SSID-ul și parola wifi, serverul NTP preferat și decalajul fusului orar de la UTC. După ce aceste formulare sunt trimise către ESP8266, acesta va salva informațiile în memoria internă EEPROM.
Dacă butonul nu este apăsat, ceasul pornește normal, citește setările din EEPROM, se conectează la wifi pentru a utiliza NTP și începe să afișeze ora.
NOTĂ: funcția setDisplay (int index) ia numărul cifrei de la 0-11 unde 0 este prima cifră (jumătatea zilei) și 11 este ultima (1/4096 dintr-o zi) și aprinde LED-ul corespunzător folosind „ led-uri matrice. Această funcție trebuie completată în funcție de modul în care ați configurat afișajul. Exemplul meu comentat corespunde modului în care am lipit rândurile într-un mod în zig-zag, mai degrabă decât de la un capăt la altul și am sărit toate celelalte LED-uri.
Pasul 3: Locuințe
Pentru a adăposti ceasul, am folosit un unghi de lemn vopsit pe care l-am avut întâmplător. Pe o față exterioară, am forat 12 găuri într-o grilă corespunzătoare pozițiilor LED-urilor. Am lipit apoi LED-urile în interiorul unghiului prin lipirea fețelor ridicate ale bastoanelor de gheață între rânduri de lemn (așa cum se arată). Pentru a difuza lumina de la LED-uri, am lipit bile de sticlă deasupra găurilor. Am realizat acest lucru scufundând jumătatea inferioară a fiecărei marmuri în rășină epoxidică și apoi plasându-le în găuri. NodeMCU și placa de protecție au fost înșurubate pe cealaltă față interioară a unghiului. Părțile laterale au fost acoperite folosind mici triunghiuri de lemn, atașate cu lipici pentru lemn. Una dintre părți are o gaură pentru portul micro USB al NodeMCU și o tăietură în colț pentru buton.
Pasul 4: Gata
Adevăratul nostru ceas binar este terminat! Pentru a-l configura, țineți apăsat butonul în timp ce îl conectați pentru a-l pune în modul de setări și apoi introduceți acreditările WiFi pe pagina sa web. Odată configurat, ceasul poate fi conectat oriunde și se va conecta automat la internet și va începe să afișeze ora în binar.
Este nevoie de un loc de practică pentru a citi timpul în format binar adevărat, dar este un exercițiu distractiv și, după un timp, devine o modalitate rapidă de a obține timpul doar cu o privire!
Recomandat:
Ceas micro binar: 10 pași (cu imagini)
Micro Binary Clock: După ce ați creat anterior un Instructable (Binary DVM), care face uz de zona de afișare limitată folosind binary. A fost doar un mic pas, având în prealabil creat modulul principal de cod pentru conversia Decimal în Binary pentru a crea un Ceas Binary, dar t
Afișare ceas binar BigBit: 9 pași (cu imagini)
Afișare ceas binar BigBit: într-un precedent Instructable (Microbit Binary Clock), proiectul era ideal ca aparat de desktop portabil, deoarece afișajul era destul de mic. Prin urmare, părea adecvat ca următoarea versiune să fie o mantelă sau o versiune montată pe perete, dar mult mai mare
Ceas de birou binar: 9 pași (cu imagini)
Ceas de birou binar: ceasurile binare sunt minunate și exclusiv pentru persoana care cunoaște binarul (limba dispozitivelor digitale). Dacă ești un tip de tehnologie, acest ceas ciudat este pentru tine. Deci, creați unul singur și păstrați-vă timpul secret! Veți găsi o mulțime de c
ESP8266 Ceas de rețea fără niciun RTC - Nodemcu NTP Clock No RTC - PROIECT DE Ceas INTERNET: 4 pași
ESP8266 Ceas de rețea fără niciun RTC | Nodemcu NTP Clock No RTC | PROIECT DE Ceas INTERNET: În proiect va fi realizat un proiect de ceas fără RTC, va lua timp de pe internet folosind wifi și îl va afișa pe afișajul st7735
Echipament de sincronizare și ceas cu lanț - Aproape gratuit !: 5 pași (cu imagini)
Echipament de sincronizare și ceas cu lanț - Aproape gratuit!: Sperăm că atunci când ați schimbat setul de sincronizare al mașinii, nu ați aruncat vitezele vechi și lanțul. Aproape am făcut-o, dar soția mea mi-a arătat acest lucru: http://www.uncommongoods.com/product/auto-timing-chain-and-gears-wall-clock 125 USD SUA plus expediere.