Am primit de la un vechi cititor al blogurilor mele si al canalului de youtube o solicitare sa modific un program de ceas ce preia ora de pe un server google, astfel incat sa arate si data, programul are si un termometru cu senzor DS18B20.
Apoi am dat de biblioteca HTTP-DateTime, care e usor de folosit, (programul modificat de mine este Google_clock_serial.ino) si prezentarea informatiilor este in ecranul de monitorizare seriala, dupa cum se vede in filmuletele:
apoi am revenit la ceasul cu prezentarea informatiei pe 4 matrici de 8x8 leduri controlate cu MAX7219.
Desi am tot testat diverse modele de ceas NTP, am vrut sa extrag singur informatiile (fara biblioteca), doar ca m-am inspirat in biblioteca prezentata mai sus.
Primul ceas ce are si informatii despre data este prezentat in filmuletele:
apoi am modificat programul sa poata afisa si versiunea ceasului in format de 12 ore, cum se foloseste in zona Asiei, asa ca am mai facut 2 filmulete, folosind programul BIG_Clock_ESP8266_DeskClock1e
Schema este simpla, eu realizand un montaj pe un breadboard (o placa de dezvoltare Wemos D1 mini, un modul cu DS18B20 si un modul de afsare cu 4 matrici de 8x8 cu MAX7219:
Conectarea afisajului este
similar schemei
folosind afisajul din dreapta (model nou)
iar senzorul DS18B20 la D4 (GPIO2) fiind alimentat la +5V si GND
PS: O desenez, cand prind un pic de timp liber schema folosita de mine.
18.02.2024
Am reusit sa gasesc un pic de timp sa desenez schema ceasului, pentru a fi mai usor reprodusa de incepatori.
Ceasul actual este o imbunatatire a versiunilor 1 si 2 si are mai multe modificari ale programului, astfel incat sa fie cat mai stabil pe timp lung (sa nu se blocheze) si sa indice corect si temperaturile negative.
Schema este aceeasi
Partea cu temperatura negativa de -4,4℃, ce aparea -4,-4℃ sau cea de -0,5℃ ca 0,-5℃ s-a rezolvat destul de simplu
Am realizat ca uneori datele meteo de pe ecran nu sunt actualizate corect, chiar daca aceastea sunt primite corect, asa ca am mai facut o modicare, reinitializand sirul (string-ul) result de fiecare data.