Daca tot s-a schimbat ora la cea de vara, am actualizat si eu programul ceasului cu animatii, astfel ca folosesc un comutator conectat la pinul A0 si selectie la 3.3V pentru ora de vara si GND pentru ora de iarna.
06.04.2026 Dupa mai multe zile de teste si punerea langa ceasul cu animatii pe afisaj P5 (rezolutie 64x32),
am observat (cam tarziu, ce-i drept) ca la trecere ala o noua zi, si ceasul meu arata ora in format de 24 de ore, nu de 12-ore, concret, in loc sa arate ora 12:xx:yy AM arata 0:xx:yy AM,
asa ca am adaugat doar o linie simpla de genul,
if (Ora == 0) Ora = 12;
dupa zona unde se calculeaza ora in format de 12 ore (Ora-12 si se determina daca e AM sau PM)
Deja, modificarea am facut-o in programul Morphing_Clock_v1c pus pe GitHub.
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
Dupa ce am testat mai mult timp ceasul cu date meteo prezentat in articolul anterior, si dupa ce am mutat montajul de pe breadboard pe un cablaj de test (mai ok), am constatat ca daca nu primeste informatii de la serverul NTP, ora "incremeneste", dar informatiile meteo se modifica ca si cum ar functiona normal, asa ca am modificat programul si daca nu sunt primite informatii de la serverul NTP sau de la openweathermap (era deja), ceasul sa functioneze normal.
Montajul dupa transferul pe cablajul de test (cu gaurele) arata destul de bine
Dupa primele teste, am constatat ca testul de schimbare ora vara/iarna, programul reporneste ca si cum s-ar opri alimentarea. Dupa cateva masuratori, am constatat ca comutatorul nu face tranzitie brusca intre mijloc si camele si are un mic moment cand toate trei sunt conectate, asa ca am adaugat o rezistenta de 12kΩ intre +3,3V si capatul comutatorului si, in cel mai rau caz, pentru foarte scurt timp creste consumul pe ramura de 3,3V cu 300μA, dar asta nu deranjeaza deloc.
Schema actualizata arata asa:
Revenind, dupa ce am constatat ca ora ramane mai mult timp statica intre schimbari de informatii meteo daca nu mai e conexiune la reteaua wi-fi, am modificat programul, acesta devenind NTP_weatherstation_RP2040_ESP8266_i2c_1602_v3_6, cu el incarcat, am facut 2 filmulete:
Am facut si cateva modificari sa "palpaie" ledul multicolor, iar daca ceasul n se conecteaza la serverul NTP, apare un semnul exclamarii in dreapta, iar daca nu se conecteaza nici la serverul de vreme si in stanga lui, daca informatiile sunt actualizate apar "=="
dar nu era versiunea optima, asa ca am modificat un pic programul, care a devenit NTP_weatherstation_RP2040_ESP8266_i2c_1602_v3_6a si acum ledul multicolor (adresabil) palpaie secundele corect si se schimba si culoarea.
Cu ultima versiune de program, am facut intai 2 filmulete:
Schema este similara, doar ca a trebuit sa conectez comutatorul de ora de bara/iarna la GP8 ca GP22 este sub placa si greu de conectat... schema este desenata intr-o versiune mai veche de Eagle si apoi infrumusetata in MS Paint
Partea de conectare dintre placa RP2040-Zero si ESP8266-01 este mai usor de intuit din desenul urmator:
La ceasul prezentat anterior, ce foloseste biblioteca RTClib, o solutie rapida de schimbare a orei de iarna de cea de vara si invers este aceea de a reincarca programul cu linia de luare a orei calculatorului si ca mai repede a programului cu linia comentata (pentru a pierde cat mai putine secunde din ora corecta).