Allora...partendo dal presupposto che a programmi non sono bravo,mi sembra di aver trovato una possibile strada...
Partendo dallo scketch di esempio della libreria
#include <Wire.h>
#include <SPI.h>
#include <I2C_graphical_LCD_display.h>
I2C_graphical_LCD_display lcd;
// example bitmap
byte picture [] PROGMEM = {
0x1C, 0x22, 0x49, 0xA1, 0xA1, 0x49, 0x22, 0x1C, // face
0x10, 0x08, 0x04, 0x62, 0x62, 0x04, 0x08, 0x10, // star destroyer
0x4C, 0x52, 0x4C, 0x40, 0x5F, 0x44, 0x4A, 0x51, // OK logo
};
void setup ()
{
lcd.begin ();
// draw all available letters
for (int i = ' '; i <= 0x7f; i++)
lcd.letter (i);
// black box
lcd.clear (6, 40, 30, 63, 0xFF);
// draw text in inverse
lcd.gotoxy (40, 40);
lcd.string ("Nick Gammon.", true);
// bit blit in a picture
lcd.gotoxy (40, 56);
lcd.blit (picture, sizeof picture);
// draw a framed rectangle
lcd.frameRect (40, 49, 60, 53, 1, 1);
// draw a white diagonal line
lcd.line (6, 40, 30, 63, 0);
} // end of setup
void loop ()
{} // nothing to see here, move along
aggiungo nel setup()
Wire.requestFrom(0x20,1);
byte a=Wire.read(); //memorizzo il byte in a
Wire.beginTransmission (0x20); // indirizzo del port expander
Wire.write (0x12); // scrivo nel registro 0x12 degli I/O port "A"
Wire.write (a|0x01); // faccio un or di ciò che riceve con l'accensione della retro che corrisponde al bit0 del port "A"
Wire.endTransmission ();
Così si accende la retroilluminazione ma non credo sia una soluzione......Qualche idea?