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

marți, 14 aprilie 2026

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

    Dupa ce am constatat ca ceasul cu animatii pe afisaj color P10, cu rezolutie 32x16 leduri functioneaza corect (articol 1 si articol 2), am zis sa il fac sa arate si in formatul de 24 ore, deoarece versiunile de pana acum erau in format de 12 ore.
    Dupa ce am pus intr-un fisier tabelar (Excel) o tabela de 32x16, am realizat ca singura solutie este sa reduc lungimea segmentelor orizontate la 2 leduri, segmentele verticale ramanand la 3 leduri.
    Au fost necesare si mici modificari in fisierul de definire al numerelor si mai ales la tranzitiile de la 4 la 5, apoi la trecerea de la 9, resoectiv 5 la 0 si mai ales la 2, respectiv 3 la 0, dar am reusit.
    Pentru a verifica functionarea corecta a acestui ceas, l-am agatat pe perete langa ceasul cu animatii pe afisaj P5 cu rezolutie 64x32 leduri (o versiune modificata de mine a celebrului Morphing Clock, cu date meteo si simboluri animate pentru vreme).
    Schema folosita este aceeasi

doar programul este modificat (asta este parte frumoasa a proiectelor Arduino)
- fisierele pe calculator
- fisierele in Arduino IDE
    Modul de prezentare se observa cel mai bine in filmulete:


luni, 30 martie 2026

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

    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. 

    M-am inspirat din ce testasem si functioneaza foarte bine la ceasul NTP cu tranzitii animate pe afisaj P5 cu rezolutie 64x32.

    Adaptarea montajului anterior este simpla, adaugand doar 3 fire si un comutator:
     Programul modificat initial este Morphing_Clock_v1c si contine 5 fisiere, care apar astfel:
- fisierele pe GitHub
- fisierele in calculator

- in Arduino IDE
Am facut si niste filmulete:
si cum mici modificari la program (sa se restarteze in caz ca am modifcat pozitia comutatorului):

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.

 

08.04.2026
si rezultatul este bun.