ALMACENAMIENTO DE CONTRASEÑA EN EEPROM

Estoy haciendo una puerta que se abre al ingresar la contraseña correcta. La contraseña se puede cambiar usando la memoria EEPROM pero cuando reseteo el Arduino o cuando lo desconecto y lo vuelvo a conectar, los cambios se pierden y la contraseña vuelve a ser la misma

Soy nuevo en Arduino y en el foro, apreciaría su consejo y si me apoyan con este proyecto.

void setup()
{
myservo.attach(10);
pinMode(external, INPUT);
pinMode(internal, INPUT);
pinMode(led, OUTPUT);

//eraseCode();
loadCode();
flash();
updateOutputs();

eraseCode está como comentario porque solo funciona para volver a la contraseña default "2255"

void loadCode()
{
if (EEPROM.read(0) == 7)
{
secretCode[0] = EEPROM.read(1);
secretCode[1] = EEPROM.read(2);
secretCode[2] = EEPROM.read(3);
secretCode[3] = EEPROM.read(4);
}
}

void saveCode()
{
EEPROM.write(1,secretCode[0]);
EEPROM.write(2,secretCode[1]);
EEPROM.write(3,secretCode[2]);
EEPROM.write(4,secretCode[3]);
EEPROM.write(0,7);
}

void eraseCode()
{
EEPROM.write(1,2);
EEPROM.write(2,2);
EEPROM.write(3,5);
EEPROM.write(4,5);
EEPROM.write(0,2);
}

Y así es como tengo programado para que la clave nueva se guarde en la EEPROM, pero al resetear no se guarda una nueva clave.

EEPROM_LCD.ino (6.53 KB)

Puede ser que hayas acabado con los ciclos de escritura del EEPROM por usar .write en vez de .update y ahora solo puedas leerlos?