So here is the whole thing with the LCD pins stored in the EEPROM 8)
#include <EEPROMex.h>
#include <LiquidCrystal.h>
const int memBase = 0;
uint16_t EEVer = memBase; // Version in 16 bit
uint16_t EELcdRS = memBase + 2; // --> LCD pin RS
uint16_t EELcdEN = EELcdRS + 1; // --> LCD pin EN
uint16_t EELcdD4 = EELcdEN + 1; // --> LCD pin D4
uint16_t EELcdD5 = EELcdD4 + 1; // --> LCD pin D5
uint16_t EELcdD6 = EELcdD5 + 1; // --> LCD pin D6
uint16_t EELcdD7 = EELcdD6 + 1; // --> LCD pin D7
uint8_t LcdRS, // LCD pin RS
LcdEN, // LCD pin EN
LcdD4, // LCD pin D4
LcdD5, // LCD pin D5
LcdD6, // LCD pin D6
LcdD7; // LCD pin D7
LiquidCrystal lcd(0,0,0,0,0,0);
void setup(){
LcdRS = EEPROM.readByte(EELcdRS); // LCD pin RS
LcdEN = EEPROM.readByte(EELcdEN); // LCD pin EN
LcdD4 = EEPROM.readByte(EELcdD4); // LCD pin D4
LcdD5 = EEPROM.readByte(EELcdD5); // LCD pin D5
LcdD6 = EEPROM.readByte(EELcdD6); // LCD pin D6
LcdD7 = EEPROM.readByte(EELcdD7); // LCD pin D7
LiquidCrystal lcd1(LcdRS, LcdEN, LcdD4, LcdD5, LcdD6, LcdD7);
lcd = lcd1; // <-- this is the matchwinner!
lcd.begin(16,2);
lcd.print("hello world");
}
void loop(){}