Alarma arduino con sensor de movimiento

Buenas!! Estoy con una duda existencial.! jaj

Estoy queriendo realizar un proyecto que consista en una alarma que posteriormente pueda ser usada en una puerta,caja,etc. El siguiente código anda perfecto, cuando ingreso la clave por primera vez me toma 1234 y si quiero cambiarla con C puedo hacerlo. Mi problema surge cuando a la alarma le quiero agregar un sensor de movimiento, no se porque al agregarle el comando del sensor deja de tomarme la alarma y siempre me salta error en la pantalla.

El codigo que uso es el siguiente:

#include <Keypad.h> // Controla el teclado
#include <EEPROM.h> //COntrola E/S EEPROM
//*****************************************
//*** Declaracion de variables locales*****
//*****************************************
const byte filas = 4;
const byte columnas = 4;
byte pinsFilas[filas] = {9, 8, 7, 6};
byte pinsColumnas[columnas] = {5, 4, 3, 2};
char teclas[filas][columnas] = {
{'1', '2', '3', 'A'}, // Declaración del teclado
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'},
};
Keypad teclado = Keypad(makeKeymap(teclas), pinsFilas, pinsColumnas, filas, columnas);
char password[5]; //almacena la contraseña en eeprom
char ingreso; //ingreso del usuario
char passUser[4];
char confirmPass[4]; //confirmacion de la contraseña
int contador = 0; //Lleva la posicion del array
int comp; // comparacion entre 2 arrays
int i=0;
int a; //aux
int ledRojo=10;
int ledVerde=11;
int buzzer=13;

void setup() {
pinMode(ledRojo, OUTPUT);
pinMode(ledVerde, OUTPUT);
pinMode(buzzer,OUTPUT);
Serial.println(" PASSWORD ");
Serial.println("____");

if(EEPROM.read(4)!='Z'){
EEPROM.write(0,'1');
EEPROM.write(1,'2');
EEPROM.write(2,'3');
EEPROM.write(3,'4');
EEPROM.write(4,'Z');
}
for (int i = 0; i <= 4; i++) {
password = EEPROM.read(i);

  • } *

}
void loop() {

  • leerIngreso(1);*
    }

void leerIngreso(int a) {

  • ingreso = teclado.getKey();*

  • if (ingreso != NO_KEY)*

  • switch (ingreso) {*

  • case 'A': *

  • if(evaluar(1)==1){*

  • correcto();*

  • tonoClaveCorrecta();*

  • digitalWrite(ledVerde,HIGH);*

  • digitalWrite(ledRojo,LOW);*

  • delay(500);*

  • digitalWrite(ledVerde,LOW);*

  • }*

  • else{*

  • msgError();*

  • tonoClaveIncorrecta();*

  • digitalWrite(ledRojo,HIGH);*

  • }*

  • reset();*

  • break;*

  • case 'B':*

  • informacion(); *

  • reset();*

  • break;*

  • case 'C':*

  • cambioPass();*

  • reset();*

  • break;*

  • case 'D':*

  • Serial.println("Presionaste D");*

  • delay(300);*

  • reset();*

  • break;*
    _ case '*':_
    _ Serial.println("Presionaste *");_

  • delay(300);*

  • reset();*

  • break;*

  • case '#':*

  • Serial.println("Presionaste #");*

  • delay(300);*

  • reset();*

  • break;*

  • default:*

  • if(a==1){*
    _ passUser = ingreso;_
    _ Serial.println(passUser*);
    }
    if(a==2){
    confirmPass = ingreso;
    Serial.println(confirmPass);
    }
    i++;
    if (i > 3)
    i = 0;*_

}
}
int evaluar(int a) {
* int j = 0;*
* if (a==1){*
* for (int i = 0; i <= 3; i++) {*
if (password == passUser*) {*
* j++;*
* }*
* }*
* }*
* if(a==2){*
* for (int i = 0; i <= 3; i++) {*
if (passUser == confirmPass*) {*
* j++;*
* }*
* }*
* }*
* if (j == 4) {*
* return j=1;*
* }*
* else {*
* return j=0;*
* }*
}
void reset() {
_ Serial.println(" PASSWORD ");
* Serial.println("");*
* for(int i =0;i<=3;i++){*

passUser*=NO_KEY;
confirmPass=NO_KEY;*

* }
i=0;
}*

void msgError(){_

* Serial.println(" ERROR ");*
* delay(500);*

* }*
void correcto(){

* Serial.println(" CORRECTO ");*
}
void tonoClaveCorrecta(){
* delay(200);*
* tone(buzzer,500);*
* delay(100);*
* noTone(buzzer);*
* tone(buzzer,600);*
* noTone(buzzer);*
}
void tonoClaveIncorrecta(){
* tone(buzzer,70,500);*
* delay(250);*
* noTone(buzzer);*
}
void informacion() {
* Serial.println("'A' para introducir la pass");*
* delay(200);*
}
void cambioPass() {
* Serial.println("Cambio de pass ");*
* delay(200);*
* Serial.println("Introduce pass anterior ");*
* delay(200);*
* reset();*
* while(passUser[3]==NO_KEY){
_ leerIngreso(1);}
if (evaluar(1) == 1) {
Serial.println("Introduce la pass nueva ");
delay(200);
reset();_

while(passUser[3]==NO_KEY){
_ leerIngreso(1);
}
Serial.println("Vuelve a introducirla ");
delay(200);
Serial.println(" PASSWORD ");_

Serial.println("");*
* i=0;*

* while(confirmPass[3]==NO_KEY){*
* leerIngreso(2);*

* }*
* if(evaluar(2)==1){*
* // funcion de EEPROM*
* for (int i = 0; i <= 3; i++) {*
_ EEPROM.write(i, passUser*);
}
for (int i = 0; i <= 3; i++) {
password = EEPROM.read(i);
}
Serial.print("Contraseña cambiada ");
delay(200);
}
else{
Serial.println("Error las pass no coinciden ");
delay(200);*_

* }*

* }*
* else {*
* msgError();*
* }*
* reset();*
}
void passChange(){
for(int i=0;i<=3;i++){
password_=passUser*;
}*_

}
Cuando quiero agregar el sensor de llama agrego el pin FLAME, lo conecto como INPUT y agrego lo siguiente en el void loop
if(digitalRead(FLAME=HIGH)){
digitalWrite(ledRojo,HIGH);
alarmaFuego();
}
else{
digitalWrite(buzzer,0);
}
y mas abajo agrego la alarma fuego
void alarmaFuego(){
* for(i=0;i<=255;i++);*
* digitalWrite(buzzer,i);*
* delay(50);*
* analogWrite(buzzer,0);*
* delay(50);*
}
AAYYYYYYYYYYUUUUUUUDAAAAAAAAAAAAAAA!!!! Por que pasa eso????? que hago mal?