Multilogin con teclado 4x4

Hola, comunidad, soy nuevo en esto de arduino, ando haciendo una maqueta solo por diversión, espero poder contribuir cuando este terminado, dejando el código completo, he navegado demasiado por internet buscando posibles soluciones pero no encuentro la forma, o tal vez no logro verla, de todos modos he consultado con un grupo de amigos y siempre conseguimos dejarlo por la mitad del funcionamiento y jamás al 100% he visto en este foro una librería Password.h pero no me estaría funcionando. mis conocimientos en programación son escasos, pero puedo seguir indicaciones sin problema alguno analizarlo pensarlo y escribirlo con dificultar pero me considero capaz. Sin mas paso a explicar como funciona y que es lo que no puedo lograr.

Tengo un Arduino uno, con un teclado matricial 4x4 junto con un display lcd 16x2 (tengo pensado cambiarlo por uno de un celular ).

El problema es que consigo generar un código para un solo usuario, y consigo generar un código para dos usuarios a media, lo que tengo pensado hacer pero no logro hacerlo es lo siguiente es que al pulsar la tecla 'A' del teclado pida una contraseña (para el usuario1), al pulsar la 'B' pida otra contraseña correspondiente al "Usuario 2" y asi completando las 4 letras menos la 'D' seria para un usuario administrador que permita modificar valores.

conseguí que lea el usuario 'A' pero al usar el password.h el usuario 'B' siempre me lo marca como incorrecto. estoy utilizando "switch case".
El código adjunto es el perteneciente al teclado y login, espero que puedan ayudarme mostrándome mi error

#include <Password.h> //http://www.arduino.cc/playground/uploads/Code/Password.zip
#include <Keypad.h> //http://www.arduino.cc/playground/uploads/Code/Keypad.zip

Password password = Password( "1234" );
Password password1 = Password( "1122" );
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] = { 3,4,5,6 };
byte colPins[COLS] = { 7,8,9,10, };

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){

  Serial.begin(9600);
  keypad.addEventListener(keypadEvent); 

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


void keypadEvent(KeypadEvent eKey){
  char Key;
  if (keypad.getState() == PRESSED)
  {
  Serial.print("Pressed: ");
  Serial.println(eKey);
 
  switch(eKey){
    case 'A': {
      if (password.evaluate()){
      Serial.println("Success");
      }
      else {
        Serial.println("Wrong");
      }
      break;
    }
    case 'B':
    {
      if (password1.append(eKey)){
      Serial.println("Success");
      }
      else {
        Serial.println("wrong");
      }
      break;
    }
    case '#': password.reset(); break;
    default: password.append(eKey); break;
  }
}
}

Solucionado, olvide responder antes, vi las librerias, y me di cuenta que la clave queda almacenada como en una especie de buffer por llamarlo de alguna forma, solo debia agregar un password.reset y password1.reset en el if y else.

Había escrito una respuesta con ese comentario y el cambio de plataforma hizo que no se donde quedara. Bueno me alegro que lo resolvieras por tu cuenta, mas mérito tiene entonces!!