comment changer le password par un code d'acces?

je veux ajouter un code d’accès avec lequel je peux changer le mot de passe quand je veux juste en tapant le code d’accès correctement il me propose d'entrer un nouveau mot de passe
aidez moi SVP

#include<LiquidCrystal.h>
#include <Password.h>
#include <Keypad.h>

Password password = Password( "1234" );

const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
{'1','2','3','A'},{'4','5','6','B'},{'7','8','9','C'},{'*','0','#','D'}
};
byte rowPins[ROWS] = {37,39,41,43};
byte colPins[COLS] = {47,49,51,53};

// Create the Keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int calibrationTime = 0;

long unsigned int lowIn;
int passwd_pos= 11;

int backLight =13;
boolean lockLow = true;
boolean takeLowTime;
int i= 0;
int pirPin = 6; //the digital pin connected to the PIR sensor's output
int ledPin = 7;
int alarmStatus = 0;
int alarmActive =0;
int speaker= 8;
int nb= 0;
//le bouton est connecté à la broche 10 de la carte Adruino
const int bouton = 10;
//variable qui enregistre l'état du bouton
int etatBouton;

LiquidCrystal lcd(12,11,5,4,3,2);

/////////////////////////////
//SETUP
void setup(){
pinMode(backLight, OUTPUT);
analogWrite(backLight, 150);
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(speaker, OUTPUT);
pinMode(bouton, INPUT); //le bouton est une entrée
etatBouton = LOW;
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(pirPin, LOW);
etatBouton = digitalRead(bouton); //Rappel : bouton = 9
displayCodeEntryScreen();
keypad.addEventListener(keypadEvent);
}

////////////////////////////
//LOOP
void loop()
{
keypad.getKey();
if ( alarmActive == 1)
{
if(digitalRead(pirPin) == HIGH)
{
keypad.addEventListener(keypadEvent);
alarmTriggered();
keypad.addEventListener(keypadEvent);

}

if(etatBouton == LOW) //test si le bouton a un niveau logique HAUT
{
digitalWrite(speaker,LOW);
}
else //test si le bouton a un niveau logique différent de HAUT (donc BAS)
{
keypad.addEventListener(keypadEvent);
}
}
}

////////////////////Fontions/////////////////
void keypadEvent(KeypadEvent eKey)
{

switch (keypad.getState())
{
case PRESSED:
if (passwd_pos - 11 >= 5)
{
displayCodeEntryScreen();
}
lcd.setCursor((passwd_pos++),0);

switch (eKey){
case 'D':
passwd_pos = 11;
checkPassword();
break;

case 'C':
alarmActive = 0 ;
alarmStatus = 0 ;

password.reset();
lcd.clear();
lcd.print("Password Reset");
delay (1000);
passwd_pos = 11;
displayCodeEntryScreen();
break;

default:
password.append(eKey);
lcd.print("*");
}
}
}

void checkPassword()
{
if (password.evaluate())
{
if(alarmActive == 0 && alarmStatus == 0)
{
activate();
}
else if( alarmActive == 1 || alarmStatus == 1)

{
deactivate();
}
}
else
{
invalidCode();

nb++;
}
}

void invalidCode()
{
alarmStatus = 1;
password.reset();
lcd.clear();
lcd.setCursor(2,0);
lcd.print("CODE INVALIDE");
delay(1000);
lcd.clear();
displayCodeEntryScreen();
if(nb==2)
{

password.reset();
alarmTriggered();

}

}

void activate()
{
delay(5000);
alarmStatus = 1;
alarmActive = 1;
lcd.clear();
lcd.setCursor(2,0);
lcd.print("ACTIVATION");
password.reset();
delay(1000);
lcd.clear();
displayCodeEntryScreen();

}

void deactivate()
{
alarmStatus = 0;
lcd.clear();
lcd.setCursor(1,0);
lcd.print("DESACTIVATION");
digitalWrite(speaker, LOW);
alarmActive = 0;
password.reset();
delay(2000);
displayCodeEntryScreen();
}

void displayCodeEntryScreen()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Entrer PIN:");
}

void alarmTriggered()
{
digitalWrite(speaker, HIGH);

}

Bonjour

bonjour Batto