#include<Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <Servo.h>
Servo myservo;
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]={9,8,7,6};
byte colpins[COLS]={5,4,3,2};
Keypad keypad=Keypad(makeKeymap(keys),rowpins,colpins,ROWS,COLS);
String input="";
String password="ABCD";
void setup(){
myservo.attach(10);
myservo.write(0);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Enter password");
}
void loop(){
char key=keypad.getKey();
if(key){
if(key=='*'){
if(input.length()>0){
lcd setCursor(input.length()1);
lcd.print(" ");
input.remove(input.length()-1)
}
}
else if(key=='#'){
lcd.clear();
if(input==password){
lcd.setCursor(0,1);
lcd.print("ACCESS GRANTED");
myservo.write(90);
delay(2000);
myservo.write(0);
}
else{
lcd.setCursor(0,1);
lcd.print("ACCESS DENIED");
}
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Enter password");
input="";
}
else{
input+=key;
lcd.setcursor(input.length()-1,1);
lcd.print(key);
}
}
delay(100);
}