Afisajul acesta cu rezolutie 240x240 si driver ST7789 este similar ca dimensiune ca cel folosit la ceasurile smart, dar avand in vedere ca nu am gasit prea multe informatii la data testelor, am apelat, pana la urma, la AI.
Intai am incercat niste exemple de pe net, dar nu am fost multumit de rezultate, asa ca am luat pas cu pas, ghidat de AI.
Prima versiune de ceas NTP arata ora in format ora, minute si secunde, cu aceleasi caractere si data, cu unele mai mici.
Apoi am vrut un alt mod de afisare, ora si minutele cu caractere mari, simuland cifrele cu 7 segmente, apoi secundele mici si data, ca in prima varianta, programul este NTPclock_ESP32C3_v1.ino.
PS: Intre timp am gasit niste proiecte cu grafica frumoasa (statie meteo), dar nu am mai apucat sa le testez fizic (doar sa vad ca se compileaza), deoarece am gasit alte afisaje si am vrut sa vad cat de mult ma ajuta AI (deja am publicat articolele in luna iulie, ramasese doar acesta cu ST7789).
Gasind intr-o cutie o placa Wemos D1 Mini (cu microcontroler ESP8266), un afisaj LCD 1602 cu interfata i2c si un breadboard si niste firicele, am zis sa ma mai "joc" cu AI-ul, asa ca i-am cerut sa imi scrie un program pentru un ceas NTP si data pe primul rand, pe primul rand, pe primul loc. pe serverul.open-mereo: temperatura si umiditatea, apoi starea generala a vremii (Senin, ploaie, grindina, ceata, etc).
apoi am zis ca ar fi utile si presiune, viteza si directia vantului, induce UV (doar pe timp de zi) si indicele de poluare, asa ca am cerut AI-ului sa imi modific programul, ulterior i-am cerut sa verifice daca conexiunea la net este stabilitate, daca nu sa o refaca.
Dupa ce am testat extragerea si afisarea ca text deplasabil a informatiilor dorite de pe serverul open-meteo.com pe un afisaj monocrom P10, am zis ca e timpul sa il adaug si la afisajul color P10, doar ca am adaugat si cursul Euro / RON (leu). Implementarea s-a obtinut tot cu ajutorul AI de pe site-ul BNR.
Prima versiune de ceas foloseste programul v3b si se afiseaza starea generala a vremii (cer senin, ploaie, ninsoare, furtuna), temperatura, umiditatea relativa din aer, presiunea atmosferica, directie vant si viteza, indice UV si catalogare ca Scazut, Acceptabil, etc (doar pe timpul zilei), indice poluare si catalogare, concentratie pulbero PM2.5 si PM10, apoi cursul valutar (pentru fiecare informatie e o alta culoare: rosu, verde, galben, albastru, mov, verde-albasteui, alb si iar alb (ca sa nu fie negru), etc.
Prezentarea acestor infrmatii se vede in filmuletele:
Ulterior, am facut mici modificari si am culori ce sunt in aceeasi ordine, dar nu respecta informatia, cum era in programul anterior (acolo cursul valutar era mereu verde). Programul modificat este v.3b2 si prezentarea informatiilor se vede in alte 2 filmulte:
si sapand pe site, am gasit ca se pot extrage mai multe informatii, de exemplu, nivelul ultravioletelor (UV), dar si nivelul de poluare, asa ca am apelat la AI sa imi genereze un program Arduino pe care sa il incarc intr-o placuta Wemos D1 si sa urmaresc datele in ecranul de monitorizare seriala. Dupa mai multe modificari al e rogramului s-a ajuns la versiunea OpenMeteo_0f.ino.
Datele de pe acest site nu necesita creare de cont si nici generare cheie unica (API key) ca la openweathemap, de exemplu.
06.05.2026
Deoarece indicele UV este 0 cand este noapte, am solicitat AI-ului sa extraga de pe site si informatia ca e zi sau noapte, deoarece este disponibila si aceasta informatie:
si sa ignor informatia pentru timp de noapte (cand o sa integrez noile informatii pentru ceasul cu animatii pe panou led P10).
Dupa ce m-am jucat putin cu AI-ul si m-a ajutat sa introduc un text deplasabil la ceasul cu animatii tip Morphing Clock pe un afisaj RGB P10 in care se folosea biblioteca PxMatrix, am zis sa testez capacitatea AI-iului de am scrie un cod complet, dandu-i informatii generice si doar aratandu-i unde greseste.
Initial, tot combina comenzi de la alte biblioteci sau pozitionarea unor texte sau puncte nu era conform indicatiilor.
Bun, am ales un afisaj P10 cu leduri rosii (deci monocrom), cu interfata HUB12 ce poate fi controlat foarte bine cu biblioteca DMDESP.
Initial am solicitat doar sa fie un ceas in stilul "Morphing Clock" si a iesit un ceas doar cu ore si minute din numere din 7 segmente, dar groase, iar secundele, reprezentate prin 2 liniute, sunt animate.
Vazand ca "se poate", am dorit sa se schimbe modul de afisare, ca la ceasul de la care am pornit, adica un ceas cu numere din 7-segmente cu tranzitii animate (Morphing Clock) si in partea de sus o informatie despre data.
A rezultat un ceas similar, doar, in acest moment, ca in partea de sus a fost pusa data (ziua si luna).
Modul de conectare dintre placa Wemos D1 si afisajul P10 cu interfata HUB12 pentru a functionata cu biblioteca DMDESP este simpla si in realitate.
Dupa am testat mai mult timp ceasul cu animatii (cunoscut ca Morphing Clock) - vezi articolul anterior, am zis ca partea de sus, unde apar informatii despre data, este prea statica, asa ca am apelat la AI pentru informatii cum sa introduc rapid modificarile in program.
Dupa mai multe teste, am modificat programul ca in partea de sus sa apara o data numele zilei in romana, urmata de data, apoi numele zilei in engleza urmata de data. Pentru a fi un pic de diversitate, am ales ca la fiecare schimbare de informatie (romana/engleza) sa se schimbe culoarea textului.
De asemenea, am redus alimentarea la 3,2V (evident ca intensitatea din program e la minim) si am pus panoul langa cel "ceasul original" cu rezolutie mai mare (64x32)
Modul de functionare se vede mult mai bine din filmulte.