#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {11, 10, 9, 8};
byte colPins[COLS] = {7, 6, 5, 4};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
LiquidCrystal_I2C lcd(0x27, 16, 2);
String password = "2574";
String paswrt = "";
bool pas = true;
bool fch = false;
bool dch = false;
void setup(){
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
char keypad = customKeypad.getKey();
Serial.println(keypad);
if(pas && !fch && !dch){
lcd.setCursor(6, 0);
lcd.print(paswrt);
if(keypad >= 0 && keypad <= 9){
paswrt += keypad;
}
switch(keypad){
case '#':
if(!paswrt){
lcd.setCursor(3, 0);
lcd.print("Incorrect!");
paswrt = "";
delay(1000);
}
else{
lcd.setCursor(3, 0);
lcd.print("Correct!");
pas = false;
fch = true;
delay(1000);
}
break;
}
}
}