Per una mia applicazione ho un RTC ed un LCD che comunicano sul bus I2C.
Sto usando la versione 2.0 della libreria LiquidCrystal_I2C che mi risulta essere la più aggiornata.
Mentre lo RTC comunica perfettamente, lo LCD 16x2 non vuole saperne di funzionare, facendo apparire sulla prima riga 16 rettangoli neri e accendendo la retroilluminazione ad ogni tentativo di print per poi spegnersi subito dopo.
Lo LCD monta un PCF8574 con indirizzo 0x2F (pad di indirizzo non cortocircuitati).
Come prova ho anche eliminato lo RTC (che ha sul BUS i resistori di pullup da 3.3K) aggiungendo due resistori di pullup a 4.7k e ho anche provato a cambiare indirizzo (0x20), ma nulla da fare.
Anche il più semplice sketch mi produce lo stesso risultato, cioè backlight accesa per un istante e riga 1 con 16 rettangoli neri:
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init();
lcd.backlight();
}
void loop() {
lcd.print("Hello, world!");
delay(1000);
}
Non posso escludere che l'LCD sia difettoso, ma forse il difetto è nella libreria.
Qualcuno ha esperienza a riguardo? Quale altra libreria posso provare?