Dupa cum se observa, ora este fixa o perioada de timp, apoi apare un text deplasabil si valoarea temperaturii oprita pentru un timp:
07.03.2024
La ceva timp am observat ca ora este corecta, dar nu se actualizase data, asa ca am banuit ca Raspberry Pi Pico W se deconecteaza de la reteaua wi-fi, asa ca am odiifcat programul, acesta devenind BIG_Clock_RPpPicoW_DeskClock2h1. Programul este compus din 3 fisiere
Am schimbat sa folosesc biblioteca pentru wifi folosita de ESP32 nu cea de la ESP8266 si periodic interoghez daca este conectat sau nu.. daca nu e, aprin ledulul de pe placa, daca se reconecteaza la reteaua wifi, ledul se stinge. Daca dupa 10 incercari la fiecare 10 minute placa nu este conectata sau la schimbarea zilei, daca placa este deconectata indiferent de numarul de teste nereusite, isi da repornire.
Am urmat sfatul unui urmaritor al canalului de youtube si am adaugat un al doilea senzor DS18B20 pentru exterior, pastrand facilitatea de a ramane valoarea temperaturii un timp pentru a fi usor de citit.
In 2019 realizasem impreuna cu Mihai un ceas cu 6 matrici ce avea implementat modul de schimbare automata a orei de vara/iarna,
Cautand acum ceva similar si usor de implementat am gasit 2 materiale identice publicate pe site-uri diferite, ce foloseau partea de calcul ca si primul meu ceas (am avut acelasi material de inspiratie, https://github.com/schreibfaul1/ESP8266-LED-Matrix-Clock):
Studiind informatiile, am gasit formula de calcul pentru datele de schimbare ale orei de vara si de iarna, programul rezultat este BIG_Clock_ESP8266_DeskClock1h
Ulterior, am primit o solicitare sa adaug si numele zilei din saptamana si numele lunii, asa ca am adaugat asta, dar bilingv (o data in romana, o data in engleza),
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.