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;
}
}
}