Ciao a tutti.
Ho acquistato un lcd grafico 128x64 in I2C con controller ST7567S.
https://it.aliexpress.com/item/1005004237282931.html?spm=a2g0o.order_list.order_list_main.60.74443696sgJBvV&gatewayAdapt=glo2ita
Per gestirlo utilizzo U8g2lib.
Questo lcd funziona a 3V, con Arduino Nano 33 IoT funziona perfettamente e non da segni di nessun blocco.
Se utilizzo arduino nano, (abbinato ad un traslatore di livelli con pullup integrato per avere i segnali a 3.3v) si blocca dopo 10/15 minuti.
Ho povato anche ad settare setBusClock alla velocita di 100000 ma niente da fare.
Avete qualche idea per risolvere il problema?
Allego lo sketch utilizzato.
#include <Wire.h>
#include <U8g2lib.h>
float tempo0 = 0;
float tempoX = 0;
int sec = 0;
int minu = 0;
U8G2_ST7567_ENH_DG128064I_1_HW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE); // LCD GRANDE
void setup()
{
u8g2.setI2CAddress(0x3F * 2); // LCD GRANDE
u8g2.setBusClock(100000); // VELOCITA DI TRASFERIMENTO
u8g2.begin();
u8g2.clearBuffer(); // clear the internal memory
//digitalWrite(SDA, 0);
//digitalWrite(SCL, 0);
u8g2.setFont(u8g2_font_ncenB14_tr);
tempo0 = millis();
}
void loop()
{
u8g2.firstPage();
do {
tempoX = millis();
sec = ((tempoX - tempo0) / 1000);
if (sec == 60)
{
minu = minu + 1;
tempo0 = millis();
}
u8g2.clearBuffer();
u8g2.setCursor(15, 23);
u8g2.print(sec);
u8g2.setCursor(15, 53);
u8g2.print(minu);
} while ( u8g2.nextPage() );
}