#include <LiquidCrystal_I2C.h>
#include <Servo.h>
//1 potentiometers
int pot1 = A0;
int pot2 = A1;
int pot3 = A2;
int pot4 = A3;
//2 lcd screen
LiquidCrystal_I2C lcd(0x27, 16, 2);
//3 servo
Servo servo1;
Servo servo2;
//5 right code
int rightCode[4]={1,2,3,4};
void setup() {
// put your setup code here, to run once:
pinMode(pot1, INPUT);
pinMode(pot2, INPUT);
pinMode(pot3, INPUT);
pinMode(pot4, INPUT);
lcd.begin(16,2);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Enter code: ");
servo1.attach(5);
servo2.attach(6);
closeDoors();
}
void loop() {
// put your main code here, to run repeatedly:
int value1= map(analogRead(pot1), 0,1023, 0, 9);
int value2= map(analogRead(pot2), 0,1023, 0, 9);
int value3= map(analogRead(pot3), 0,1023, 0, 9);
int value4= map(analogRead(pot4), 0,1023, 0, 9);
//int code = value1*1000 + value2*100 + value3*10 + value4;
lcd.setCursor(0,1);
lcd.print(value1);
lcd.print(value2);
lcd.print(value3);
lcd.print(value4);
lcd.print(" ");
if(value1==rightCode[0] &&
value2==rightCode[1] &&
value3==rightCode[2] &&
value4==rightCode[3]
){
lcd.setCursor(0,0);
lcd.print("right code!!");
openDoors();
lcd.setCursor(0,2);
lcd.print("change code to close!");
// delay(5000);
// clearDisplay();
// closeDoors();
//lcd.setCursor(0,0);
}
else{
lcd.setCursor(0,0);
lcd.print("Enter code:");
lcd.setCursor(0,2);
lcd.print("wrong code!!");
lcd.print(" ");
closeDoors();
}
}
void openDoors(){
servo1.write(90);
servo2.write(90);
}
void closeDoors(){
servo1.write(180);
servo2.write(0);
}
void clearDisplay(){
}