joi, 24 august 2023

Ceas RTC pe afisaj 8x32 cu leduri adresabile

    Am incercat si o versiune de ceas RTC pe afisaj 8x32 ledui adresabile, dar a trebuit sa inlocuiesc placa Arduino Nano cu una Wemos D1 Mini, pentru ca apareau mereu erori de afisare.

in plus, am adaugat si un termometru cu senzor DS18B20
   Programul RTCclock_Arduino_8x32_v0b.ino este unul simplu, fara tranzitii sau alte animatii, doar secundele "bat" dupa cum se vede in filmuletele:
iar ceasul este sub observatie cateva zile bune, apoi voi trece si la animatii si diverse moduri de afisare (ora vara/iarna, respectiv format de 12 ore sau 24 ore), etc.
    Schema a pornit de la schema clasica de conectare a unui periferic pe i2c la o placa Wemos D1 Mini (ESP8266) (vezi articolul HowTo: ESPEasy - Set time synchronization with the DS3231 / DS3232 RTC)
la care am adaugat afisajul la D6 si senzorul DS18B20 la D5, dupa cum e si in program descris.

Ceas RTC pe afisaj 16x16 cu leduri adresabile (3)

    Am adaugat ceasului anterior si un senzor de temperatura DS18B20, 

folosind aceeasi schema de baza
doar ca am conectat un modul cu senzor DS18B20 la pinul D9
si prograul modificat este Watch16x16_2c.ino 
    Cu programul incarcat in placa Arduino, am facut 2 filmulete, care arata modul de prezentare a informatiilor pe afisajul de 16x16 leduri adresabile:

miercuri, 23 august 2023

Ceas NTP in format de 12 ore pe afisaj monocrom SPI (rezolutie128x64 si driver ST7920)

    Deoarece m-am tot "batut" cu afisaj de 2.2" cu interfata i2c si driver ST7567S, in sensul ca dupa un timp apar "balarii", dupa cum am descris in articolul anterior si intr-un-ul mai vechi, am zis sa revin la un afisaj "clasic", cu interfata SPI, cu aceeasi rezolutie de 128x64, cel cu driver ST7920 si diagonala mai mare.

   Am luat ca baza de plecare programul pentru ceasul NTP in format de 12 ore pe afisaj de 1,3" cu driver SH1107 prezentat intr-un articol recent

doar ca folosit configuratia din articolul ESP8266 and ST7920 powered 128*64 Liquid Crystal Display in a test bench, in care este prezentata si schema de test
  Am folosit configurarea recomandata, pentru biblioteca u8g2lib este
U8G2_ST7920_128X64_F_SW_SPI u8g2(U8G2_R2, 14, 13, 15, U8X8_PIN_NONE);
si astfel programul pentru ceasul NTP in format de 12 ore pe afisaj SPI monocrom cu driver ST7920 este NTPclock_12864_st7920_v1c3.ino.
   Am realizat si 2 filmulete:

24.08.2023
   Am realizat ca afisajul e mai mare decat aveam eu informatiile initiale (2,9" sau 2,6", areal are 3,1-3,2") pentru ca are diagonala de cca. 8-8,1cm.

Ceas NTP pe afisaj monocrom de 2,2" cu rezolutie de 128x64 (ST7567S - i2c) - 3

 

   Am observat, din nou, dupa anumite perioade de timp (de ordinul orelor sau zeci de ore) distorsionarea imaginii/informatiei pe afisaj, asa-zisele "balarii", asa ca ma decis sa schimb si la al doilea afisaj a stabilizatorului de tensiune, dupa cum prezentasem si in articolul initial, doar ca de data aceasta am pus un AM1117-3.3 in loc de XC6206 (662K)

si apoi un condensator SMD de 4,7μF pe ramura de 3,3V.

   Pentru a elimina problema contactelor imperfecte de pe breadboardd, am fost realizat un cablaj, care are si 2 comutatoare (pentru a realiza un ceas cu reglaj ora de vara/iarna, respectiv format de 12 ore sau de 24 ore).
   Schema este

   Am modificat programul pentru ceasul NTP sa am active cele 2 comutatoare, acesta  fiind acum NTPclock_12864_ST7566S_v2a.ino si am realizat niste filmulete:

    Functie de pozitia comutatorului de format ora vara /iarna, putem avea
- ora in format de 24 ore si ora de vara
- ora in format de 12 ore si ora de vara
- ora in format de 12 ore si ora de iarna
- ora in format de 24 ore si ora de iarna
   Din pacate, afisajul cu fundal negru (albastru inchis) testat primul cu cablajul a "cedat" destul de repede (cateva ore)
asa ca l-am pus pe cel cu fundal gri deschis, dar si acesta a aratat, dupa o perioada mai lunga de timp, ca alta e problema, ... ori driverul ori biblioteca grafica...
   Problema este in curs de investigare, si in functie de rezultat, o sa pun informatia aici... pana atunci, am pus un ceas cu program similar dar cu afisaj cu driver ST7920 sa functioneze langa acesta si...
- initial (ora 22:25, respetiv 10:25 PM, seara)
- dupa ceva timp (ora 5:38 dimineata)
- resetare ceas cu ST7567S, pentru remonitorizare
- dupa alt timp (ora 7:57 dimineata)

miercuri, 16 august 2023

Ceas NTP in format de 12 ore pe afisaj OLED 0.96" (i2c 128x64 SSD1306)

    Daca tot am testat diferite afisaje OLED pe i2c cu rezolutie de 128x64 (sau 64x128) am zis sa vad cum e si cu unul clasic de 0.96", care are driver SSD1306.

    Schema este cea clasica (am testat si alimentarea de la 3,3V dupa cum se vede in poza de mai sus)

pe care am folosit-o si cand am realizat ceasul NTP anterior pe acest tip de afisaj
   Folosind programul adaptat, NTPclock_12864_ssd1306_v1d.ino, se vede functionare in filmuletele urmatoare:

Ceas NTP pe afisaj monocrom de 2,2" cu rezolutie de 128x64 (ST7567S - i2c) - 2

    Dupa ce am modificat programul ceasului NTP cu afisaj de 1.3" cu driver SH1107 pentru a afisa ora in format de 12 ore

 am zis sa revin si la afisajul buclucas de 2.2" cu driver ST7567S, ca tot au aceeasi rezolutie (128x64).

   Schema este identica

   Programul adaptat este NTPclock_12864_ST7566S_v1c.ino si functionarea ceasului este prezentata in filmuletele:
  Se observa din primele poze ca am pastrat partea de afisare a numelui zilei, la minutele impare in romana si la cele pare in engleza.