miercuri, 29 martie 2023

Alt ceas NTP cu cifre din 7-segmente pe 4 afisaje OLED

    Rasfoind netul, am dat de o biblioteca numita multi_OLED ce poate controla 16 afisaje OLED pe i2c cu numai 5 pini de Wemos D1 (ESP8266). Anterior am realizat un ceas pe 4 afisaje OLED in care am folosit expandorul TCA9548A, asa ca intentia a fost sa il recreez cu cat mai putine piese.

   Initial, am incercat sa controlez 4 afisaje OLED cu o placa Arduino Nano, ce permite doar text, dar pentru inceput e ok. Afisajele au aceeasi adresa i2c si anume 0x3C, asa ca o conectare clasica era imposibila.
   Schema mea de test este
si incarcand programul multiOLED_test_v0.ino pot afisa pe cele 4 afisaje informatii diferite:
   Apoi am schimbat placa Arduino Nano cu un Wemos D1 Mini, schema, ce fi utilizata ulterior si la un ceas NTP cu selectie ora vara/iarna este:
   Dupa un scurt test cu programul anterior, am rescris programul sa am caractere din 7-segmente
Primul program de test afisa doar 0,1,2,3 pe afisaje, dupa cum se vede in filmuletele:
comanda 4 afisaje OLED pe i2c cu aceeasi adresa (0x3C)
apoi cu al doilea program de test, se afiseaza aleatoriu pe fiecare ecran unul din cele 14 caractere create (cifrele 0...9, litera "o", semnul de grad, litera "C", semnul minus)
   Dupa asta am trecut la treburi serioase, adica am adaptat programul sa ma un ceas NTP cu seelctie ora de vara sau de iarna, dar fata de alte proiecte, am folosit intrarea analogica, deoarece alti pini pot avea functionalitati la pornire. A ales sa am ora de iarna cu intrarea la masa (GND) si ora de vara (DST) cu intrarea la 3,3V (maximul pentru acest pin la Wemos D1).
  Primele teste, cu programul NTP_clock_4OLEDS_4.ino, ce are punctul de secunda fix (deoarece informatiile de actualizeaza greu pe ecran) se vad in fimuletele
  Apoi am facut ca ledul intern sa clipeasca, programul devenind NTP_clock_4OLEDS_4a.ino, urmand ca ulterior sa folosesc unu' sau doua leduri intre ore si minute:
    Am in plan, cu ajutorul lui zvonacfirst, sa pun putinele piese pe un cablaj si sa printez o carcasa.
 Schema cu leduri ar trebui sa fie:

Niciun comentariu:

Trimiteți un comentariu