Apagar y encender SENSOR PIR

Buenas estoy haciendo un proyecto de domotica y necesito apagar y encender el sensor pir mediante una aplicacion del celular mediante bluetooth.

Este es el codigo entero:

//////LIBRERIAS//////

#include <Servo.h>


//////VARIABLE///////
int las;
int inc;
int mov;
char j;
char buffer[10];
char x;
//luces//
int mov_val = 7;
int pinBuzzer = 23;
const int pin_mq = 2;

int luz_cochera = 8;
int luz_cuarto =  9;
int luz_cocina = 10;
int luz_sala = 11;
int luz_bano = 12;
int luz_exterior1 = 22;
int luz_prueba = 24;

int LDR = A0;
int umbral_luz = 3;
//puertas//
Servo puertaCochera;
int pos1 = 90;
int pos2 = 0;


//ventilador//
int vent2 = 5;
int umbral = 20;
int cont = 0;
int y = 2;
int d;
int sensor_laser = 26;
int laser = 25;
void setup() {
  Serial.begin(9600);
  pinMode(LDR, INPUT);
  pinMode(luz_cochera, OUTPUT);
  pinMode(luz_cuarto, OUTPUT);
  pinMode(luz_cocina, OUTPUT);
  pinMode(luz_sala, OUTPUT);
  pinMode(luz_exterior1, OUTPUT);
  pinMode(luz_bano, OUTPUT);
  pinMode(luz_prueba, OUTPUT);

  pinMode(vent2, OUTPUT);
  puertaCochera.attach(6);
  pinMode(mov_val, INPUT);
  pinMode(pinBuzzer, OUTPUT);
  pinMode(pin_mq, INPUT);
  pinMode(sensor_laser,INPUT);
  pinMode(laser,OUTPUT);
  digitalWrite(laser,1);
}
void loop() {

  x = Serial.read();
  luces();
  puerta1();
  luz();
  movimiento();
  mqsensor();
  barrera_laser();
  sprintf(buffer, "%d,%d" , inc, las);
  Serial.print(buffer); 
}

void mqsensor() {
  boolean mq_estado = digitalRead(pin_mq);
  if (mq_estado == 1) {
    inc = 1;
  }
  else {
    inc = 2;
  }
  delay(100);
}
void barrera_laser() {
  
  d = digitalRead(sensor_laser);
  if (d == 1) {
    las = 2;
    digitalWrite(pinBuzzer, 1);
    delay(100);

  } else  if (d == 0) {
    las = 1;
    digitalWrite(pinBuzzer, 0);
    delay(100);
  }
}

void movimiento() {
  y = digitalRead(7);
  if (y == 1) {
    
    digitalWrite(pinBuzzer, 1);
    delay(100);

  } else  if (y == 0) {
    digitalWrite(pinBuzzer, 0);
    delay(100);
  }
}
void luz() {
  int z;
  int e;
  z = analogRead(LDR);
  e = map(z, 0, 1023, 0, 10);
  if (e >= umbral_luz ) {
    digitalWrite(22, 1);
  } else {
    digitalWrite(22, 0);

  }
}
void puerta1() {
  puertaCochera.write(pos1);
  if (pos1 == 0 and x == 'z') {
    pos1 = 90;
  } else if (pos1 == 90 and x == 'g') {
    pos1 = 0;
  }

}



/////////////////////LUCES////////////////////////
void luces() {

  if (x == 'c') {
    digitalWrite(vent2, HIGH);
  } else  if (x == 'x') {
    digitalWrite(vent2, LOW);
  }
  if (x == 's') {
    digitalWrite(luz_cochera, HIGH);

  } else if (x == 'p') {
    digitalWrite(luz_cochera, LOW);//8

  }
  if (x == 'a') {
    digitalWrite(luz_cuarto, 1);//9

  } else if (x == 'o') {
    digitalWrite(luz_cuarto, 0);

  } if (x == 'f') {
    digitalWrite(luz_cocina, 1);//10

  } else if (x == 'u') {
    digitalWrite(luz_cocina, 0);

  } if (x == 'h') {
    digitalWrite(luz_sala, 1);//11 x

  } else if (x == 'y') {
    digitalWrite(luz_sala, 0);

  } if (x == 'd') {
    digitalWrite(luz_bano, 1);//12

  } else if (x == 't') {
    digitalWrite(luz_bano, 0);

  }
if (x == 'j') {
  digitalWrite(luz_prueba, 0);//24
} else if (x == 'r') {
  digitalWrite(luz_prueba, 1);

}
}

Y esta es la parte del sensor PIR:

void movimiento() {
  y = digitalRead(7);
  if (y == 1) {
    
    digitalWrite(pinBuzzer, 1);
    delay(100);

  } else  if (y == 0) {
    digitalWrite(pinBuzzer, 0);
    delay(100);
  }
}

Por favor ayudenme a solucionarlo y si tienen sugerencias al codigo las aceptare todas

Es muy fácil.

Creo haber respondido con esta, 3 veces lo mismo en la semana.

creas una variable booleana

bool flag = false;

Dicha variable sera controlada por tu apliacacion

Ahora leido el valor desde tu app cambiarás el estado del flag

entonces

   if (flag)
      movimiento();

Listo.. cuando le des la orden desde tu APP cambiarás el estado de flag y cuando flag este en 1, movimiento va a funcionar. Si lo desactivas ya no prestará atención al PIR.