#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int btnleft = 2;
int btnright = 3;
int btnenter = 4;
int pot = A0;
int value1 = 0, value2 = 0, value3 = 0, value4 = 0;
int w = 3;
String password = "1234";
int Gled = 7;
int Rled = 6;
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(btnleft, INPUT);
pinMode(btnright, INPUT);
pinMode(btnenter, INPUT);
pinMode(Gled, OUTPUT);
pinMode(Rled, OUTPUT);
}
void loop() {
int deyer = analogRead(pot);
int value = map(deyer,0,1023,0,9);
lcd.setCursor(0,0);
lcd.print("<");
lcd.print(value1);
lcd.print(">");
lcd.setCursor(4, 0);
lcd.print("<");
lcd.print(value2);
lcd.print(">");
lcd.setCursor(9, 0);
lcd.print("<");
lcd.print(value3);
lcd.print(">");
lcd.setCursor(13,0);
lcd.print("<");
lcd.print(value4);
lcd.print(">");
if(digitalRead(btnleft) == HIGH){
w--;
}
if(digitalRead(btnright) == HIGH){
w++;
}
if(w == 1){
lcd.setCursor(1,1);
lcd.print("-");
delay(200);
lcd.setCursor(1,1);
lcd.print(" ");
delay(200);
value1 = value;
}
else if(w == 2){
lcd.setCursor(5,1);
lcd.print("-");
delay(200);
lcd.setCursor(5,1);
lcd.print(" ");
delay(200);
value2 = value;
}
else if(w == 3){
lcd.setCursor(10,1);
lcd.print("-");
delay(200);
lcd.setCursor(10,1);
lcd.print(" ");
delay(200);
value3 = value;
}
else if(w == 4){
lcd.setCursor(14,1);
lcd.print("-");
delay(200);
lcd.setCursor(14,1);
lcd.print(" ");
delay(200);
value4 = value;
}
String code = String(value1) + String(value2) + String(value3) + String(value4);
if(digitalRead(btnenter) == HIGH){
if(code == password){
digitalWrite(Gled, HIGH);
delay(1000);
digitalWrite(Gled, LOW);
}
else{
digitalWrite(Rled, HIGH);
delay(1000);
digitalWrite(Rled, LOW);
}
}
Serial.println(code);
}