duminică, 6 august 2023

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

     Am achizitionat un afisaj OLED cu interfata i2c, ce are driver SH1107 si  o rezolutie de 128x64,

asa ca mi-a fost usor sa adaptez programul ceasului anterior.

   Deoarece am avut dificultati in gasirea adresei i2c la afisajul anterior, am folosit programul i2c_scanner si am gasit o adresa uzuala, 0x3C:
folosind schema clasica de conectare a unui afisaj i2c:
   Am modificat programul ceasului anterior, schimband configuratia pentru SH1107 pentru biblioteca u8g2lib, cum este prezentat in documentatia bibliotecii 
astfel ca programul ceasului NTP pentru afisajul de 1,3" este NTPclock_64128_sh1107_v1c.ino, rezultand:
   Am facut si 2 filmulete:

marți, 1 august 2023

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

    Dupa ce am testat cu succes cateva exemple pe acest afisaj, dupa cum am prezentat in articolul precedent, am scris un programior pentru a crea un pseudo-ceas dupa cum se vede in filmuleltele urmatoare:

pseudo-ceas pe afisaj i2c monocrom 128x64 (ST7567)

pseudo-clock on i2c monochrome 128x64 display (ST7567)

 in care am folosi schema clasica de conectare

    Prima versiune de ceas NTP foloseste programiorul NTPclock_12864_st7567s_v1.ino si modul de prezentare a inormatiilor e ca in filmuletele:
   Dupa teste de cateva ore am constatat ca apar moduri ciudate de afisare, cum ar fi
   In acelasi timp, a facut teste si Vlad Gheorghe observand tot felul de "balarii" pe ecran dupa un timp, asa ca am rescris programul, abordand altfel afisarea, programul devenind NTPclock_12864_st7567s_v2.ino si noa prezentare este ca in filmuletele
  Din pacate, dupa cateva ore aveam iar ciudatenii pe ecran
   Mi-am adus aminte ca in primul material unde am gasit informatii despre afisaj, ca se discuta de o montare in plus a 2 rezistente si 2 diode, am incercat si eu scoaterea lor, dar fara rezultate favorabile, 
dupa ce am studiat fisa de catalog a integratului ST7567S am realizat ca rezistentele R1 si R2 sunt de pe liniile i2c (rezistentele de pull-up)

    Am banuit ca stabilizatorul de 3,3V (notat 662k, capsula SO23) e de vina, asa ca m-am pus pe caudat si am dat destul de repede de fisa tehnica pentru XC6206
   Prima etapa a fost demontarea stabilizatorului si apoi montarea unui "strap" intre VCC si iesirea stabilizata de 3,3V:
apoi am alimentat afisajul din 3,3V de pe placa WemosD1, testul aratand ca dupa cca. 80 ore totul este in regula. Am facut comanda de cateva stabilizatoare pentru ca mai trebuie sa soseasca 3 afisaje, pe care le banui ca au aceeasi "buba".
   Vlad a gasit un AM1117-3.3, care are o capsula mai mare si l-a montat, putand alimenta afisajul din 5V:

PS1: Programiorul NTPclock_12864_st7567s_v1b1.ino e diferit de NTPclock_12864_st7567s_v1.ino prin definirea afisajului
//U8G2_ST7567_ENH_DG128064I_F_SW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE);
U8G2_ST7567_ENH_DG128064I_1_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
dar functioneaza similar.

luni, 31 iulie 2023

Afisaj monocrom de 2,2" cu rezolutie de 128x64 (ST7567S - i2c) comandat de Arduino Uno/Nano sau Wemos D1 (ESP8266)

     Am testat un alt tip de afisaj monocrom  notat GM128064-59N ver.2.0, unul cu interfata i2c, driver ST7567S, si rezolutie 128x64 (ca si clasicul ST7290, cu care am realizat mai multe proiecte, inclusiv un ceas RTC si un termometru dublu, in care am folosit placa Arduino si biblioteca u8glib


   Dupa ce am realizat schema clasica de legare a unui periferic i2c la o placa Arduino (SDA -> A4 si SCL -> A5), 
am cautat adresa afisajului cu programul de depistare a adresei, nu am avut succes, asa ca am inceput sa caut informatii pe net.
   Am gasit primele informatii pe un site al unui magazin online la comentarii, 
care m-au dus la o discutie in romana.
    In mare, adresa reala e dubla fata de cea din datasheet si biblioteca folosita este u8g2lib, iar un programior functional este cel de la pastebin.com/cMgTQMQd.
asa ca inlocuind in exemplele bibliotecii u8g2lib, configurarea recomandata
U8G2_ST7567_ENH_DG128064I_F_SW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE);
si in partea de "setup"
u8g2.setI2CAddress(0x3F * 2);
 pe ecran se vad imaginile statice sau dinamice care trebuie
   Am realizat si 2 filmulete:
    In vederea realizarii unui ceas NTP, a schimbat placa Arduino Nano (Jade Nano +) cu o placa Wemos D1 cu ESP8266, realizand schema clasica
si punand in programele de test si liniile
#define SCL_PIN SCL // SCL pin of OLED. Default: D1 (ESP8266) or D22 (ESP32) #define SDA_PIN SDA // SDA pin of OLED. Default: D2 (ESP8266) or D21 (ESP32)
apoi am facut 2 filmulete:

vineri, 21 iulie 2023

Ceas NTP pe afisaj monocrom de 2" cu rezolutie de 192x64 (UC1609C)

    In completarea articolului anterior, am conectat afisajul monocrom la o placa Wemos D1 Mini (cu microcontroler ESP8266) pentru a crea un ceas NTP, alimentand afisajul din 3,3V pentru a avea aceeasi tensiune cu tensiunile de control), asa ca schema de conectare devine

   Programul adaptat (dintr-unul al ceasului NTP pe afisaj e-ink/e-paper) este NTPclock_19264_uc1609_v1.ino si pe acran avem ora cu caractere mari, data cu caractere normale si un text (site-ul meu, in acest caz, www.arduinotehniq.com)

joi, 20 iulie 2023

Afisaj monocrom de 2" cu rezolutie de 192x64 (UC1609C) comandat de Arduino

    Am comanat un afisaj cu driver UC1609C, cu rezolutie de 192x64 pixeli, despre care citisem ca se poate controla cu biblioteca u8g2lib asa ca banuiam ca pot adapta usor programe de la alte afisaje cu rezolutii similare.



    Pana sa soseasca afisajul, am gasit o biblioteca alternativa ERM19264_UC1609, care are o documentatie buna, asa ca am facut niste teste cu exemplele ei, cand a sosit afisajul.

rezultatele se observa in posele si filmuletele urmatoare:

test afisaj monocrom cu rezolutie 192x64 cu UC1609C

test with 192x64 UC1609C monochrome display

   Am gaasit si biblioteca LCD_UC1609, ce permite si adaugarea unei memorii externe:

doar ca eu am testat doar schema simpla, observand ca si ea foloseste resurse putine si este rapida:

test afisaj monocrom cu rezolutie 192x64 cu UC1609C (2)

test with 192x64 UC1609C monochrome display (2)

   Bun, testasem si biblioteca u8g2lib, doar ca am reusit sa compilez si incarc un exemplu doar cu text, dar consuma si acela multe resurse, ulterior am gasit articolul Display LCD 19264-05 V3.2 (Arduino) care indica sub-biblioteca u8x8lib ce foloseste doar text si consuma resurse putine.
   Am luat programiorul de pe site si l-am adaptat sa arata ca un ceas (pseudoceas), 
realizand si filmuletele:
   Programiorul adaptat si folosit in filmulete este u8x8lib_pseudoclock1.ino.
   Pentru toate cele 3 biblioteci, am folosit aceeasi conectare intre placa Arduino Nano (Jade Nano+) si afisaj:

marți, 23 mai 2023

Ceas matriceal animat cu ESP8266 si RTC (DS3231) cu informatii despre temperatura si presiune

    Ceasul cu ESP8266 si modul RTC si informatii despre temperatura si umiditate, prezentat in 5 articole prin 2019:

- https://nicuflorica.blogspot.com/2019/03/ceas-matriceal-animat-cu-esp8266-si-rtc.html

- https://nicuflorica.blogspot.com/2019/04/ceas-matriceal-animat-cu-esp8266-si-rtc.html

- https://nicuflorica.blogspot.com/2019/04/ceas-matriceal-animat-cu-esp8266-si-rtc_11.html

- http://nicuflorica.blogspot.com/2019/05/ceas-matriceal-animat-cu-esp8266-si-rtc.html

- http://nicuflorica.blogspot.com/2019/09/ceas-matriceal-animat-cu-esp8266-si-rtc.html

 are acum o continuare, prin schimbarea senzorului DHT22 cu un BMP180, si asta datorita lui Levente si acum indica temperatura si presiunea atmosferica.

   Din discutiile cu el, a reiesit urmatoarea schema de conexiuni 

(principala modificare e la schimbarea pinilor pentru i2c, cum sunt ei configurati in mod obisnuit, dupa cum se vede si in articolul ESP8266 Pinout Reference: Which GPIO pins should you use?, problema care s-a observat la conectarea enzorului BMP180 de Levente):

Montajului lui este:
  Cateva imagini cu montajul in functiune:
   Programul initial (corectat pentru i2c) adaptat de mine este MatrixClock_ESP8266_BMP180_3e5.ino, iar al lui Levente  MatrixClock_ESP8266_BMP180_3e5e1.ino.

25.05.2023
   Intre timp, Levente a facut un filmulet, Ceas matriceal animat cu ESP8266 si RTC