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.
 

 


vineri, 27 martie 2026

Ceas RTC cu 5 tuburi VFD de tip IV-6 (2)

 

    Dupa cum scrisesem in articolul anterior, am adaugat posibilitatea sa afisez temperatura din camera, folosindu-ma de senzorul din integratul DS3231, care are functie principala de RTC (ceas de timp real).

    Schema a ramas aceeasi

    Programul dkrtc_DS3231_v2.ino este modificat ca sa pot activa sau nu afisarea temperaturii in ultimele 5 secunde ale fiecarui minut, consumul este de cca 210-230mA la 5V.


Modul de functionare si reglare se vede in filmuletele urmatoare:

ceas RTC cu 5 tuburi VFD IV-6 (3)

RTC clock with 5 IV-6 tubes (3)

Apoi am adaugat optiunea de afisare a temperaturii cat tin butonul SW2 apasat (similar cum e SW3 pentru secunde) iar programul este dkrtc_DS3231_v2b.ino.


- ceas RTC cu 5 tuburi VFD IV-6 (4)

- RTC clock with 5 IV-6 VFD tubes (4)

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

     Dupa ce am gasit un filmulet interesant numit P10 RGB Led matrix morphing clock

am achizitionat un afisaj RGB P10 si, intre timp am desenat si comandat un set de cablaje pentru ca acest tip de afisaj necesita biblioteca PxMatrix, care are multe conexiuni.
    Schema de conectare este cea clasica, doar ca am intrerupt legatura dintre D3 (GPIO0) de la ESP8266 de pe placa Wemos D1 si pinul E de intrare in conectorul afisajului, care e conectat la masa si astfel e blocata pornirea si rularea  programului (detalii in articolul ESP8266 Pinout Reference: Which GPIO pins should you use?
    Dupa cum se observa, cablajul mai are modificari, deoarece am realizat ulterior ca sunt mici omisiuni sau se pot adauga niste facilitati.
    Dupa ce am facut mici modificari la programul gasit care era destul de simplu si nefinisat, am adaptat sa am o intensitate luminasa mai redusa, am adaugat corectia sa imi stearga cifra 1 de la zecile de ore cand nu mai e cazul, asa ca dupa mai multe modificari, acum programul meu Morphing_Clock_v0b este stabil. Trebuie sa fie folosite cele 3 fisiere (unul ino, unul h si unul cpp in acelasi subdirector)

    Informatia este simpla, incapand doar ora in format de 12 ore, deoarece rezolutia e mica
Am facut si 2 filmulete
    Deoarece folosesc de mult timp o versiune de ceas cu afisaj P5 cu rezolutie mai mare (32x16)
pentru care informatiile le-am pus pe blog cautand dupa cuvantul cheie Morphing si pe GitHub in proiectul  P5_64x32_HUB75, am zis sa mai adaug niste informatii, care pot sa le extrag usor, asa ca am pus sa imi apara, in fiecare minut:
- in primele 5 secunde, AM sau PM si informatia de GMT+2
- in urmatoarele 5 secunde, data
- restul celor 50 de secunde, 5 secunde numele zilei in romana si 5 secunde in engleza
    Programul este Morphing_Clock_v1b care are mai multe fisiere:

    Modul de prezentare se vede in filmuletele urmatoare: