#include <Keypad.h>
#include <LiquidCrystal.h>
const byte FILAS = 4;
const byte COLUMNAS = 4;
char keys[FILAS][COLUMNAS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
//Pines del teclado conectados al arduino:
byte pinesFilas[FILAS] = {13,12,11,10};
byte pinesColumnas[COLUMNAS] = {9,8,7,6};
Keypad teclado = Keypad(makeKeymap(keys), pinesFilas, pinesColumnas, FILAS, COLUMNAS);
char tecla;
char clave[7];
char clave_maestra[7] = "123456";
byte indice = 0;
//Pines: RS,E,D3,D2,D1,D0
LiquidCrystal lcd(A1, A0, 5, 4, 3, 2);
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Clave:");
}
void loop() {
tecla = teclado.getKey();
if (tecla){
clave[indice] = tecla;
indice++;
Serial.print(tecla);
lcd.setCursor(indice,1);
lcd.print(tecla);
Serial.println(indice);
}
if (indice == 6){
if (!strcmp(clave, clave_maestra)){
Serial.println(" Correcta");
lcd.setCursor(7,1);
lcd.print(" Correcta");
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Clave:");
}
else{
Serial.println(" TACHE");
lcd.setCursor(7,1);
lcd.print(" TACHE");
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Clave:");
}
indice =0;
}
}