///arduino menu 3 Push Buttons Password Lock
const int button[] = {2,3,4};
int ButtonState[] = {0,0,0,0};
int lastButtonState[] = {0,0,0,0};
int password[] = {0,1,2,2};
int level = 0;
int green = 7;
int red = 8;
void setup() {
pinMode(button[0], INPUT_PULLUP);
pinMode(button[1], INPUT_PULLUP);
pinMode(button[2], INPUT_PULLUP);
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
level = 0;
}
void loop() {
for(int i=0; i<4; i++)
{
ButtonState[i] = digitalRead(button[i]);
}
for(int i=0; i<4; i++){
if(ButtonState[i] != lastButtonState[i]){
if(ButtonState[i] == 1){
switch(level){
case 0: if(i == password[0]) level++;
else level=5;
break;
case 1: if(i == password[1]) level++;
else level=5;
break;
case 2: if(i == password[2]) level++;
else level=5;
break;
case 3: if(i == password[3]) level++;
else level=5;
break;
}
}
lastButtonState[i] = ButtonState[i];
}
}
if(level==4){
digitalWrite(green, HIGH);
delay(2000);
digitalWrite(green, LOW);
level=0;
}
if(level==5){
for(int j=0; j<5; j++){
digitalWrite(red, HIGH);
delay(50);
digitalWrite(red, LOW);
delay(50);
}
level=0;
}
delay(20);
}