Resetar senha para fechadura eletronica

Bom, estou desenvolvendo uma fechadura por senha para um trabalho da faculdade, consegui fazer a o código e a comunicação com o excel preenchendo a hora e a senha de quem foi digitada, porém quando vou digitar outra senha parece q a senha antiga continua armazenada no “eKey” fazendo assim que qualquer outra senha o arduino interpreta como senha incorreta.

Como corrigir isso?

// Projeto 8-1 – Acionando rele via teclado matricial 4X4

#include <Password.h> // Biblioteca utilizada para controle de senha.
#include <Keypad.h> // Biblioteca para controle do teclado de matrizes.

char senha= “User1”;
char senha2= “User2”;
char senha3= “User3”;
char senha4= “Senha Errada”;

// Senha utilizada para acionamento do rele.
Password password = Password( “1” );
Password password2 = Password( “4” );
Password password3 = Password( “7” );

const byte ROWS = 4; // Quatro linhas por…
const byte COLS = 4; // Quatro colunas.

// Define o Keypad (mapa do circuito do teclado).
char keys[ROWS][COLS] = {
{‘1’,‘2’,‘3’,‘A’},
{‘4’,‘5’,‘6’,‘B’},
{‘7’,‘8’,‘9’,‘C’},
{’*’,‘0’,’#’,‘D’}
};

// Conecta o teclado matricial em linha 0, linha 1, linha 2, linha 3 e linha 4…
//dos pinos do arduino.
byte rowPins[ROWS] = {9,8,7,6};

// Conecta o teclado matricial em coluna 0, coluna 1, coluna 2, coluna 3 e…
//coluna 4 do arduino.
byte colPins[COLS] = {12,11,10,5};

// Cria um objeto Keypad.
Keypad keypad=Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup(){
pinMode(13, OUTPUT); // Define pino 13 como saída.
pinMode(4, OUTPUT); // Define pino 4 como saída.
Serial.begin(9600); // Inicializa Serial Monitor.
Serial.println(“CLEARDATA”);
Serial.println(“LABEL,Hora,Empregado,Dia”);
keypad.addEventListener(keypadEvent);
keypad.setDebounceTime(250);

}

void loop(){
keypad.getKey();
}

void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){ // Condição switch…
case PRESSED: // Se precionado algum botão…
Serial.println(eKey); // Armazena numero digitado na variável eKey.
switch (eKey){
// Pressionando “D” confirma se a senha foi digitado corretamente.
case ‘D’: guessPassword();
case PRESSED: ‘D’;
default:
password.append(eKey);
password2.append(eKey);
password3.append(eKey);
}
}
}

void guessPassword(){
// Informa no Serial Monitor “Verificando, aguarde…”.
Serial.print("Verificando, aguarde… ");
if (password.evaluate()){
// Informa no Serial Monitor “Acionando rele…”.
Serial.println("Acionando rele… ");
Serial.print(“DATA,TIME,”);
Serial.println(senha);
digitalWrite(13, HIGH); // Ativa o rele.
delay(2000); // Rele fica acionado por 2 segundos e depois…
digitalWrite(13, LOW); // Desativa o rele.
password.reset(); // Apaga a senha.

}
else if (password2.evaluate()){
Serial.println("Acionando rele… ");
Serial.print(“DATA,TIME,”);
Serial.println(senha2);
digitalWrite(13, HIGH); // Ativa o rele.
delay(2000); // Rele fica acionado por 2 segundos e depois…
digitalWrite(13, LOW); // Desativa o rele.
password2.reset(); // Apaga a senha.

}
else if (password3.evaluate()){

Serial.println("Acionando rele… ");
Serial.print(“DATA,TIME,”);
Serial.println(senha3);
digitalWrite(13, HIGH); // Ativa o rele.
delay(2000); // Rele fica acionado por 2 segundos e depois…
digitalWrite(13, LOW); // Desativa o rele.
password3.reset(); // Apaga a senha.

}

else{

Serial.println(“Acesso Negado”);
Serial.print(“DATA,TIME,”);
Serial.println(senha4);
digitalWrite(4, HIGH);
delay(2000);
digitalWrite(4, LOW);

password.reset(); // Apaga a senha.
password2.reset(); // Apaga a senha.
password3.reset(); // Apaga a senha.
}
}

Devia ter lido as regras do fórum antes de postar. Não é assim que se posta código aqui no fórum. De qualquer forma também não consigo ajudar porque não estou a perceber qual é o problema.