duminică, 3 mai 2026

Ceas NTP cu animatii si date meteo pe afisaj monocrom P10

    Dupa ce am conststat ca ceasul prezentat in articolul anterior este stabil, am zis sa adaug si date meteo "adevarate" de la un server meteo. 
    Prima alegere a fost openweathermap, dar am aflat intre timp ca exista si open-meteo care nu necesita creare de cont si cheie API, asa ca am apelat la AI sa imi scrie un program simplu de afisare pe ecranul serial. Rezultatul a fost bun, dar cand sa il integreze in programul complex al ceasului a dat erori grave, asa ca am mutat manual bucati de programul simplu in cel complex. A trebuit sa mai pun si eu "capul la contributie", dar rezultatul este multumitor. Singurul punct slab este acela cand se apeleaza serverul open-meteo si se prelucreaza datele, apar leduri aprinse aleatoriu pe ecran, asa ca am preferat sa sting ecranul, deoatece nu am reusit sa pun un simplu mesaj "caut date meteo noi" si sa ramana ora si minutele. In functie de conexiunea la net (prin wifi) poate sa treaca neobservata sau sa dureze 2-3 secunde aceasta pauza de afisate.
    In partea de sus, se afiseaza pe rand cu text deplasabil, in limba romana:
- numele zilei si data
- starea vremii (cer senin, partial noros, ninsoare, etc)
- temperatura, in grade Celsius
- umiditatea relativa, in procente
- presiunea atmosferica in mmHg (mm coloana de mercur)
- vant in km/h si directia
    Modul de prezentare este mult mai usor de inteles din filmuletele urmatoare:
    Fata de ce am prezentat in articolele anterioare
nu s-a schimbat schema de conectare, ci doar programul MorphingClock_P10DMDESP_4b1 care are 2 fisiere, un sketch (.ino) si un fisier pentru fonturile mici, cu inaltimea de 5 pixeli).
Pe calculator, fisierele sunt salvate asa
iar in programul Arduino IDE apar asa

miercuri, 29 aprilie 2026

Ceas NTP cu animatii pe afisaj led monocrom P10 (2)


    Dupa ce am testat ceasul prezentat in articolul anterior, am zis sa ma folosesc iar de AI sa imi adauge un text deplasabil in partea de sus, in locului celui fix. Am hotarat sa pun numele zilei si data, dar de data asta nu a fost asa simplu, deoarece am primit numai programioare ce aveau defecte de prezentare a textului. Am renuntat dupa cateva ore, dar a doua zi, dupa ce am realizat ca nu reusesc in acest mod sa scot un program corect, am cautat si gasit un programior in exemplul bibliotecii DMDESP care nu functiona corect cu fonturi de inaltime mica (5 in cazul meu). Am cerut sa mi-l corecteze si .. minune, a iesit din prima. Apoi am solicitat sa imi combine cele 2 programioare si iar probleme... asa ca am combinat eu cele 2 programioare.

    Fontul gasit (Font3x5.h) cu inaltimea de 5 pixeli are caractere destul de ciudate,

asa ca am facut un alt font (NewFont5x3.h) cu inaltimea de 6 pixeli, spatiu de 1 pixel si latimea normala de 3 pixeli, dar mai sunt si exceptii, cu ajutorul aplicatiei on-line dmd-font-generator 

(uitasem sa definesc litera s, dar am modificat fisierul ulterior, pentru ca era la fel ca litera S), dupa ce am mai creat ulterior alt font (Fontnou5x.h), mai placut ochiului.

Schema este cea obisnuita, folosita pentru biblioteca DMDESP

    Programul ce foloseste primul font creat de mine este 

- pe github: MorphingClock_P10DMDESP_3g

- in calculator

- in Arduino IDE

iar programul ce foloseste al doilea font creat de mine este 

- pe github; MorphingClock_P10DMDESP_3g1

- in calculator

- in Arduino IDE

    Am realizat si urmatoarele filmulete:

duminică, 26 aprilie 2026

Ceas NTP cu animatii pe afisaj led monocrom 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.
    Programul teste este MorphingClock_P10DMDESP_0b.ino si codul de prezentare se vede in filmuletele:
    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.
Programul este MorphingClock_P10DMDESP_3d.ino si incarcat in placa Wemos D1 va genera un ceas destul de frumos:

Ceas NTP cu tranzitii animate (Morphing Clock) pe afisaj P10 RGB 32x16 cu ESP8266 (4)

    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.
    Programul modificat, ce contine mai multe fisiere, arata asa
- pe github: Morphing_Clock_v2b1
- pe calculator
- in Arduino IDE