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: