#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
lcd.backlight();
lcd.begin(20, 4);
initLCD();
for(int i=2;i<6;i++) {
pinMode(i, INPUT_PULLUP);
}
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void initLCD() {
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Type passcode: ");
}
int currentNum=0;
int currentPass=0;
const int pass=2345;
void loop() {
for(int i=2;i<6;i++) {
if(digitalRead(i) == LOW) {
currentPass=currentPass*10;
currentPass+=i;
currentNum++;
lcd.print(i);
if(currentNum>3) {
if(currentPass==pass) {
digitalWrite(12, HIGH);
} else {
digitalWrite(13, HIGH);
}
currentNum=0;
currentPass=0;
initLCD();
}
delay(250);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
}
}
delay(10);
}