un solo problema con alarma!

muy buenas expertos! estoy utilizando un display 16x2 y un teclado matricial 4x4. olvidaros de los led del sketch. el problema es que una vez que esta activada la alarma no consigo desactivarla. como vereis soy principiante, he leido todo lo que he podido y aun asi no lo consigo. muchisimas gracias al que lo resuelva y aun mas si me explica cual es el problema para poder seguir avanzando. ( yo creo que el problema esta en el if else) porque no consigo hacer un void loop general cuando meto la contraseña de desactivarla( tengo dos contraseñas para hacermelo mas facil porque no se como hacerlo con la misma ( activar y desactivar alarma).
mil gracias y un saludo!

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <Password.h> //Incluimos la libreria Password

#include <Keypad.h> //Incluimos la libreria Keypad

LiquidCrystal_I2C lcd (0x3F, 16, 2);

int LASER = 10;
int FOTORESISTENCIA = A0;
int BUZZER = 11;
int valor=0; // es para la fotorresistencia
int ledVERDE = A1;
int ledROJO = A2;
Password password = Password( "1234" ); //Definimos nuestro Password
Password password1 = Password( "1235" ); //Definimos nuestro Password

const byte ROWS = 4; // Cuatro Filas
const byte COLS = 4; // Cuatro Columnas

// Definimos el Keymap
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

byte rowPins[ROWS] = { 9,8,7,6 };// Conectar los keypads ROW1, ROW2, ROW3 y ROW4 a esos Pines de Arduino.
byte colPins[COLS] = { 5,4,3,2, };// Conectar los keypads COL1, COL2, COL3 y COL4 a esos Pines de Arduino.

// Creamos el Keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup() {

Serial.begin(9600);
keypad.addEventListener(keypadEvent); //Adicionamos un Evento listener para este keypad

lcd.clear();
lcd.backlight();

pinMode(LASER, OUTPUT);
pinMode(BUZZER, OUTPUT);
digitalWrite(LASER, HIGH);
analogWrite(BUZZER, 0);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
lcd.init();

}

void loop() {

keypad.getKey();
}

//Tenemos cuidado de algunos eventos especiales
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){
case PRESSED:
Serial.print("Pressed: ");
Serial.println(eKey);
switch (eKey){
case '*': checkPassword(); break;
case '#': password.reset(); break;
default:
password.append(eKey);
password1.append(eKey);
}
}
}

void checkPassword(){

if (password.evaluate())

{
digitalWrite(ledVERDE, HIGH);
delay(200);
digitalWrite(ledVERDE, LOW);
delay(200);
digitalWrite(ledVERDE, HIGH);
delay(200);
digitalWrite(ledVERDE, LOW);
delay(200);
digitalWrite(ledVERDE, HIGH);
delay(200);
digitalWrite(ledVERDE, LOW);
delay(200);
digitalWrite(ledVERDE, HIGH);
delay(200);
digitalWrite(ledVERDE, LOW);
delay(200);
Serial.println("CORRECTO");
lcd.clear();
lcd.setCursor(5,0);
lcd.print("CODIGO");
lcd.setCursor(4,1);
lcd.print("CORRECTO");
delay(1500);
lcd.clear();
digitalWrite(LASER, HIGH);
analogWrite(BUZZER, 0);
lcd.setCursor(4,0);
lcd.print("!ALARMA");
lcd.setCursor(3,1);
lcd.print("CONECTADA!");

(password1.evaluate());
Serial.println("CORRECTO");
lcd.clear();
lcd.setCursor(5,0);
lcd.print("CODIGO");
lcd.setCursor(4,1);
lcd.print("CORRECTO");
delay(1500);
lcd.clear();
digitalWrite(LASER, LOW);
analogWrite(BUZZER, 0);
lcd.setCursor(4,0);
lcd.print("!ALARMA");
lcd.setCursor(3,1);
lcd.print("DESCONECTADA!");

do{

valor = analogRead(FOTORESISTENCIA);
}while(valor<300);
digitalWrite(LASER, LOW);
analogWrite(BUZZER, 255);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("!DETECCION");
lcd.setCursor(3,1);
lcd.print("INTRUSION!");

}
else
{

digitalWrite(ledROJO, HIGH);
delay(200);
digitalWrite(ledROJO, LOW);
delay(200);
digitalWrite(ledROJO, HIGH);
delay(200);
digitalWrite(ledROJO, LOW);
delay(200);
digitalWrite(ledROJO, HIGH);
delay(200);
digitalWrite(ledROJO, LOW);
delay(200);
digitalWrite(ledROJO, HIGH);
delay(200);
digitalWrite(ledROJO, LOW);
delay(200);
Serial.println("INCORRECTO"); //Adicionamos nuestro Codigo a ejecutar si esto NO trabaja
lcd.clear();
lcd.setCursor(5,0);
lcd.print("CODIGO");
lcd.setCursor(3,1);
lcd.print("INCORRECTO");
delay(1500);
lcd.clear();
lcd.setCursor(3,0);
lcd.print("DETECCION");
lcd.setCursor(3,1);
lcd.print("INTRUSION");

}

}

Lee el privado y edita tu post usando etiquetas </>.
Cuando lo hagas te responderé.

No veo ningun privado.. si me pudieses orientar donde encontrarlo.. te dejo mi correo de todas formas por si me lo pudieses enviar ahí. Muchas gracias.

Moderador: Email borrado