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:
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,
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:
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.
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.
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
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:
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),
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):