#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int push1 = 2;
int push2 = 3;
int push3 = 4;
int push4 = 5;
int led = 13;
String a, b , c, d, e ;
int sp = 0 , sp1 = 0 ;
void setup()
{
pinMode(push1 , INPUT);
pinMode(push2, INPUT);
pinMode(push3, INPUT);
pinMode(push4, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("New password:");
lcd.setCursor(0,1);
// put your setup code here, to run once:
}
void loop()
{
int sw1 = digitalRead(push1);
int sw2 = digitalRead(push2);
int sw3 = digitalRead(push3);
int sw4 = digitalRead(push4);
if (sp == 0)
{
if(sw1 == 1)
{
b+="1";
delay(1000);
lcd.print("*");
}
if(sw2 == 1)
{
b+="2";
delay(1000);
lcd.print("*");
}
if(sw3 == 1)
{
b+="3";
delay(1000);
lcd.print("*");
}
if(b.length()>=4)
{
lcd.setCursor(0,0);
lcd.print("password saved");
lcd.setCursor(0,1);
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print("Enter password");
lcd.setCursor(0,1);
sp = 1;
}
}
else if(sp == 1)
{
if(sw1 == 1)
{
a+="1";
delay(1000);
lcd.print("*");
}
if(sw2 == 1)
{
a+="2";
delay(1000);
lcd.print("*");
}
if(sw3 == 1);
{
a+="3";
delay(1000);
lcd.print("*");
}
if(a.length()>=4)
{
if(a == b)
{
lcd.setCursor(0,0);
lcd.print("password verified");
lcd.setCursor(0,1);
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print("Enter password");
lcd.setCursor(0,1);
a = "";
digitalWrite(led, 1);
delay(1000);
digitalWrite(led, 0);
c = b;
}
else if(a != b)
{
lcd.setCursor(0,0);
lcd.print("wrong password");
lcd.setCursor(0,1);
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print("Enter password");
lcd.setCursor(0,1);
a = "";
}
}
}
if (sw4 == 1)
{
lcd.setCursor(0,0);
lcd.print("change password");
lcd.setCursor(0,1);
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print("Enter old password");
lcd.print(0,1);
delay(2000);
sp = 2;
}
else if (sp == 2)
{
if(sw1 == 1)
{
d+="1";
delay(1000);
lcd.print("*");
}
if(sw2 == 1 )
{
d += "2";
delay(1000);
lcd.print("*");
}
if(sw3 == 1);
{
d+="3";
delay(1000);
lcd.print("*");
}
if(d.length()>=4)
{
if(d == c)
{
lcd.setCursor(0,0);
lcd.print("old password verified");
lcd.setCursor(0,1);
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print("Enter new password");
lcd.setCursor(0,1);
sp = 3;
d = "";
sp1 = 1;
}
else
{
lcd.setCursor(0,0);
lcd.print('wrong password');
}
}
}
else if(sp1 == 1)
{
if(sw1 == 1)
{
e +="1";
delay(1000);
lcd.print("*");
}
if(sw2 == 1 )
{
e += "2";
delay(1000);
lcd.print("*");
}
if(sw3 == 1);
{
e +="3";
delay(1000);
lcd.print("*");
}
if(e.length()>=4)
{
lcd.setCursor(0,0);
lcd.print("password saved");
lcd.setCursor(0,1);
lcd.print(" ");
delay(2000);
lcd.setCursor(0,0);
lcd.print('Enter password');
lcd.setCursor(0,1);
b = e;
e = "";
sp = 1;
sp1 = 0;
}
}
// put your main code here, to run repeatedly:
}