Cuprins:

FĂRĂ MAI PRIMĂVARĂ: 5 pași
FĂRĂ MAI PRIMĂVARĂ: 5 pași

Video: FĂRĂ MAI PRIMĂVARĂ: 5 pași

Video: FĂRĂ MAI PRIMĂVARĂ: 5 pași
Video: Carla's Dreams - Imperfect | Official Video 2024, Noiembrie
Anonim
Gata cu primăvara înainte
Gata cu primăvara înainte
Gata cu primăvara înainte
Gata cu primăvara înainte

Titlu alternativ: IP Time Clock partea 3

Dacă îți place, particip la concursul Ceas.

V-ați săturat să aveți Spring Forward?

Te-ai săturat să fii nevoit să te întorci?

Ei bine, eu sunt. Am acest vechi ceas cu alarmă care a remediat acest lucru (pentru o vreme) (vezi imaginea) S-ar regla automat pentru ora de vară și (cred) are baterie de rezervă în cazul în care pierdeți energia. Din păcate, cu câțiva ani în urmă, SUA au decis să schimbe zilele pentru schimbarea orei. Deci, acum acest ceas trebuie schimbat manual de patru ori pe an! Eu îl folosesc doar ca o copie de rezervă.

Deci, acest Lazy Old Geek (LOG) își dorea ceasul perfect. Toată lumea este diferită și vremurile se schimbă (Ha! Ha!) Și idealurile se schimbă. Iată ceasul meu ideal pentru dormitor.

Vizibil mereu noaptea. CAVEAT: Nu clipesc secunde noaptea, este prea distractiv.

DST automat (ora de vară). Urăsc să trebuiască să schimb orele de ceas de două ori pe an.

Afișează ziua săptămânii. Întrucât sunt BĂTRÂN și nu-mi amintesc.

Așa că îmi plac secunde dimineața. Anunțul spune gargară timp de 30 de secunde, așa că îmi place un ceas care afișează secunde.

Fără lumină albastră. Știm cu toții că lumina albastră este rea pentru tine. Nu întotdeauna adevărat, vezi asta:

www.instructables.com/id/Blue-Light-Proje…

Bine, este destul de simplu. Multe ceasuri sunt vizibile noaptea și multe nu sunt albastre. Unele sunt ceasuri „atomice” care se ajustează pentru ora de vară. De fapt, unele dintre ceasurile mele „atomice” trebuie să mă joc cu schimbările de DST.

Acum situația secundelor este mai specifică. De fapt, mi-am conceput propriile lucruri pentru a face acest lucru în acest Instructable (deși am observat că nu l-am explicat prea bine):

www.instructables.com/id/IP-Time-Clock-Par…

Acest ceas a durat aproximativ patru ani, relativ fără întreținere până acum câteva luni, când a încetat să funcționeze.

Pasul 1: Fixare, primul pas

Fixare, primul pas
Fixare, primul pas
Fixare, primul pas
Fixare, primul pas
Fixare, primul pas
Fixare, primul pas

Ecran albastru al morții, IP Clock (de fapt este negru).

Tehnologie:

O scurtă descriere a ceasului IP. Folosește un microcontroler ESP-03, acesta se conectează la internet cu WiFi. Am lipit două benzi de antet pentru bărbați de 2 mm pe ESP-03, așa că se va conecta la o priză de pe PCB.

Folosește două afișaje cu șapte segmente cu 3 cifre, cum ar fi:

Nu-mi amintesc dacă acestea erau catod sau anod obișnuit.

Un Max7219 pentru a conduce afișajele și LED-urile individuale în zilele săptămânii.

Pentru mai multe detalii, vă rugăm să vă uitați la ceasul IP partea 2 care poate fi instruit.

Ei bine, primul lucru pe care l-am încercat a fost să reprogramez ESP-03 (microcontroler), așa că m-am uitat la Instructable și am încercat, dar nu m-a lăsat să îl programez.

ISTORIE IRELEVANTĂ: Bine, sunt un BĂTRÂN, așa că mintea mea rătăcea. Unul dintre motivele pentru care am intrat în Instructables.com a fost că avea Instructables grozav pe Arduino. A fost unul dintre principalele motive pentru care am intrat în Arduinos și am învățat cum să le folosesc. Scriitorii instructivi sunt la toate nivelurile și abilitățile diferite, dar pot găsi adesea unele care sunt la un nivel pe care îl pot înțelege. Deci, vă mulțumesc Instructables pentru că m-ați ajutat de-a lungul anilor.

Pentru a întoarce favoarea, scriu Instructabile care sper să îi ajute și pe alții.

Un al doilea motiv pentru care scriu Instructables este să mă ajute să-mi amintesc cum am făcut proiecte. În timp ce scriu Instructables, încerc să furnizez toate detaliile pentru a face ceea ce am făcut. Mi se pare că nu întotdeauna fac o treabă bună.

Bine, am pus ceasul IP pe un spate.

Teoria mea este că mai multă lumină albastră mi-a dat mai multă energie (a se vedea mai sus proiectul albastru instructabil) și concentrarea pentru a revedea această problemă. Ceea ce mi-am dat seama în cele din urmă a fost că metoda pe care o foloseam pentru a programa ESP-03 nu mai funcționa. Am scris acest lucru într-un alt instructabil:

www.instructables.com/id/2020-ESP8266/

Problema 1 a fost rezolvată, acum pot programa ESP-03 cu schițe Arduino.

Pasul 2: remedierea următoarei probleme

Remedierea următoarei probleme
Remedierea următoarei probleme
Remedierea următoarei probleme
Remedierea următoarei probleme
Remedierea următoarei probleme
Remedierea următoarei probleme

Ei bine, am programat un ESP-03 cu vechea mea schiță Arduino, l-am pus în ceasul meu IP, tot nu a funcționat. Așa cum am scris schița, nu a fost afișat nimic până când nu s-a făcut o conexiune reușită la Internet și serverul NTP (oferă timp precis pe Internet), așa că am avut un ecran gol.

Folosind monitorul serial Arduino, am putut vedea că nu se conecta la serverul NTP.

NOTĂ: ESP-03 utilizează un microcontroler ESP8266. Unul dintre lucrurile frumoase despre ESP8266 este că a încorporat WiFi. În termeni tehnici, se poate conecta la un hotspot WiFi sau router WiFi pe care îl au multe case, inclusiv a mea.

Devenind destul de tehnici aici, noile routere WiFi au două lățimi de bandă, 2,4 GHz și 5,0 GHz. (Vedeți imaginea pentru routerul meu) Îmi place să cred că sunt diferența dintre radio AM și FM. (Îți amintești de acestea?)

O limitare a ESP8266 este că utilizează doar lățimea de bandă de 2,4 GHz.

Lucruri mai tehnice, atunci când vă conectați la WiFi aveți nevoie de un identificator numit SSID. Este ca un post de radio individual, K Earth 101. Și, din motive de securitate, aveți nevoie și de o parolă.

Ei bine, multe routere WiFi dual band (2,4 GHz și 5 GHz) folosesc același SSID pentru ambele benzi.

Oricum, dintr-un anumit motiv, nu am putut conecta un ESP-03 cu routerul meu. Se pare că îmi amintesc de alte persoane care au probleme similare.

Linia de fund: am configurat un alt router care avea SSID-uri separate pentru banda de 2,4 și 5 GHz, de exemplu, „mtslink24” și „mtslink50” și a putut să vorbesc pe Internet. (Vedeți imaginea)

AVERTISMENT: Dacă aveți un router dual band cu aceleași SSID-uri pe ambele benzi, este posibil să nu funcționeze cu ESP8266s.

Pasul 3: remedierea ultimei probleme

Remedierea ultimei probleme
Remedierea ultimei probleme

Ceea ce vedeam era că încă nu mă puteam conecta la serverul NTP. Am găsit o altă schiță pentru a vedea dacă reușesc să folosesc Internetul și asta a funcționat, așa că următoarea problemă părea să fie conectarea la serverul NTP.

Ei bine, în schița mea originală, am folosit o adresă IP pentru a mă conecta la un server NTP:

tf.nist.gov/tf-cgi/servers.cgi

Așa că am încercat mai multe adrese IP de la Boulder și FT. Collins, care sunt destul de aproape de locul în care mă aflu. Niciunul dintre ei nu a lucrat. S-au jucat și au reușit să lucreze la o schiță globală, dar s-ar bloca doar una din cinci ori. Am făcut mai multe cercetări și am găsit ceva numit pool.ntp.org. Se pare că ceea ce face este să se rotească printr-o grămadă de adrese IP, astfel încât nicio adresă nu este supraîncărcată și toate acestea ar trebui să fie active.

Ei bine, nu prea înțeleg atât de bine această programare WiFi, dar am reușit să găsesc un exemplu pe care să-l pot adapta la schița mea și să-l pun în funcțiune. Yippee!

Pasul 4: Arduino Sketch

Schiță Arduino
Schiță Arduino

Atașat este schița mea de lucru, Special.ino

Iată câteva comentarii despre aceasta:

Aici vă puneți propriul SSID și parola. (Acesta trebuie să fie de 2,4 GHz.)

char ssid = "YourSSID"; // SSID de rețea (nume)

char pass = "Parola dvs. SSID"; // parola de rețea

Folosind lista serverelor pool.ntp.org.

IPAddress timeServerIP; // time.nist.gov adresa serverului NTP

const char * ntpServerName = "pool.ntp.org";

// obțineți un server aleatoriu din piscina WiFi.hostByName (ntpServerName, timeServerIP);

Două funcții DST:

void findChangeDates (); // Găsiți datele de schimbare primăvară / toamnă

bool IsDST (); // Verificați dacă este DST

findChangeDates (); ia anul curent și își dă seama ce zile din martie și noiembrie sunt datele de trecere

bool IsDST (); determină dacă ziua curentă este DST sau nu

void digitalClockDisplay ()

Ei bine, din păcate, creierul meu vechi nu-și mai poate da seama. Ceea ce cred că este să opriți afișajul secundelor după ora 9 p.m. și le întoarce în jurul valorii de 5a.m. Mi se pare foarte enervant să mă uit la un ceas când sunt în pat și să văd secundele care se bifează. Dar când mă trezesc dimineața, îmi place să văd secundele pentru a-mi putea „cronometra” gargară.

Pasul 5: Programarea ESP-03 & Concluzii

Programarea ESP-03 & Concluzii
Programarea ESP-03 & Concluzii

În prezent folosesc versiunea Arduino 1.8.1.

Cea mai ușoară modalitate de a instala elementele ESP8266 este folosind Board Manager folosind această metodă:

github.com/esp8266/Arduino#installing-with…

Odată instalat, când selectez Board, selectez „Modulul ESP8266 generic”.

AVERTISMENT: Pe computerul meu există două versiuni ale „modulului generic ESP8266”. Cea din categoria „plăci ESP8266” funcționează, cea din Sparkfun nu.

Ei bine, sunt leneș. Ceea ce am făcut de fapt a fost să iau un ESP-03 și l-am programat în adaptorul ESP modificat de la:

www.instructables.com/id/2020-ESP8266/

Ceea ce aș fi putut face este să-mi modific PCB-ul IP Clock 2 în conformitate cu această schemă, adăugând doar câteva jumperi.

În plus, am modificat un adaptor USB CP2102 pentru a avea RTS conectat la pinul de lângă GND.

Cu aceste modificări, este ca și cum ai încărca o schiță Arduino obișnuită fără a fi nevoie să apeși niciun buton.

CONCLUZII: Ei bine, îmi place ceasul IP. Îndeplinește toate criteriile mele. În ciuda a ceea ce arată imaginea, LED-urile sunt roșii, nu albe, deci nu albastre.

Recomandat: