#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
const uint8_t row = 4;
const uint8_t column = 4;
char keys[row][column] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
uint8_t columns[column] = {4, 3, 2, 9};
uint8_t rows[row] = {8, 7, 6, 5};
Keypad keypad = Keypad( makeKeymap(keys), rows, columns, row, column);
LiquidCrystal_I2C lcd(0x27, 16 ,2);
String code = "4568";
String attempt = "";
int lenght = 0;
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Password : ");
}
void loop() {
char key = keypad.getKey();
if(key != NO_KEY){
attempt += key;
lcd.setCursor(lenght,1);
lcd.print("*");
++lenght;
}
if(lenght == 4){
lcd.clear();
lcd.setCursor(0,0);
if(attempt == code){
lcd.print("Code Correct");
}else{
lcd.setCursor(0, 0);
lcd.print("Code Incorrect");
}
delay(3000);
attempt = "";
lenght = 0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Password : ");
}
}