Eeprom Switch case , Display LCD , error al guardar 1 valor en memoria

saludos,

ya pude resolver parte del problema que tenia al principo modificando, simplificando y agregando estructura de ontrol y otras variables y alguna cosas solo me quedaria poner limite en los valores min y max y que pueda guardar lo seteado en la memoria eeprom algun , sugerencia ayuda para seguir avanzando

saludos

comparto el codigo


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 20, 4);

int upButton = 6;
int downButton = 7;
int selectButton = 8;
//int NavgLeftBtn = 9;
//int NavgRightBtn = 10;

int nPulso;
unsigned long time ;
unsigned long t = 0;
int dt = 200;

int adjV1MIN;
int adjV1MAX;
int adjV2MIN;
int adjV2MAX;


//Configuracion Pines y puerto serie
void setup ()
{
  adjV1MIN = 90;  // VOLTAJE FASE1 MIN
  adjV1MAX = 150; // VOLTAJE FASE1 MAX

  adjV2MIN = 190; // VFASE2
  adjV2MAX = 250; // VFASE2



  lcd.begin();
  lcd.backlight();


  pinMode(upButton, INPUT_PULLUP);
  pinMode(downButton, INPUT_PULLUP);
  pinMode(selectButton, INPUT_PULLUP);
  //  pinMode(NavgLeftBtn, INPUT_PULLUP);
  //  pinMode(NavgRightBtn, INPUT_PULLUP);
  Serial.begin (9600);

//  updateMenu();
}


void loop ()
{

  time = millis();
  if (time - t > dt) {
    t = time;
    
    if (!digitalRead(selectButton)) {
    //  updateMenu();
      nPulso ++;

      Serial.print (nPulso);

      while (!digitalRead(selectButton));
    }

    if (nPulso == 0)


      if (!digitalRead(upButton)) {
        adjV1MIN = adjV1MIN + 5;
        //  Serial.print (nPulso);

        while (!digitalRead(upButton));
      }

      else if (!digitalRead(downButton))
      {
        adjV1MIN = adjV1MIN - 5;
        while (!digitalRead(downButton));
      }

    if (nPulso == 1)


      if (!digitalRead(upButton)) {
        adjV1MAX = adjV1MAX + 5;
        //  Serial.print (nPulso);

        while (!digitalRead(upButton));
      }

      else if (!digitalRead(downButton))
      {
        adjV1MAX = adjV1MAX - 5;
        while (!digitalRead(downButton));
      }

    if (nPulso == 2)

      if (!digitalRead(upButton)) {
        adjV2MIN = adjV2MIN + 5;
        //  Serial.print (nPulso);

        while (!digitalRead(upButton));
      }

      else if (!digitalRead(downButton))
      {
        adjV2MIN = adjV2MIN - 5;
        while (!digitalRead(downButton));
      }

    if (nPulso == 3)

      if (!digitalRead(upButton)) {
        adjV2MAX = adjV2MAX + 5;
        //  Serial.print (nPulso);

        while (!digitalRead(upButton));
      }

      else if (!digitalRead(downButton))
      {
        adjV2MAX = adjV2MAX - 5;
        while (!digitalRead(downButton));
      }

    if (nPulso == 4) // vuelve a 0.
      nPulso = 0;
    updateMenu();
  
  }

}

void updateMenu() {
  switch (nPulso) // definido 4 cases.
  {
    case 0:
      lcd.clear();
      lcd.setCursor(1, 1);
      lcd.print("ADJ TENSION [120]");
      lcd.setCursor(0, 2);
      lcd.print("> Set Vmin");
      lcd.setCursor(14, 2);
      lcd.print (adjV1MIN);
      break;

    case 1:
      lcd.clear();
      lcd.setCursor(1, 1);
      lcd.print("ADJ TENSION [120]");
      lcd.setCursor(0, 2);
      lcd.print("> Set Vmax");
      lcd.setCursor(14, 2);
      lcd.print (adjV1MAX);
      break;

    case 2:
      lcd.clear();
      lcd.setCursor(1, 1);
      lcd.print("ADJ TENSION [220]");
      lcd.setCursor(0, 2);
      lcd.print("> Set Vmin");
      lcd.setCursor(14, 2);
      lcd.print (adjV2MIN);
      break;

    case 3:
      lcd.clear();
      lcd.setCursor(1, 1);
      lcd.print("ADJ TENSION [220]");
      lcd.setCursor(0, 2);
      lcd.print("> Set Vmax");
      lcd.setCursor(14, 2);
      lcd.print (adjV2MAX);
      break;
    case 4:
      break;
  }
}