Como hacer uso de interrupciones.

Muy buenos días, Quisiera que me ayudaran con un proyecto que se me hizo difícil terminarlo, aunque me pareció fácil al principio,pero se me dificulto al final, se trata sobre un proyecto de “cuenta personas”, Los materiales usados en este proyecto son foto-resistencias(ldr) con láseres cada uno de las puertas. Uno que se encuentra en la entrada de la puerta y que su función es sumar las personas que entran y otra de salida que resta las personas que salen, Cuando ejecute el código por primera vez, sumaba y restaba con normalidad.
Pero el problema latente es cuando yo interrumpo la luz del láser, la cuenta sigue y no se detiene.
Eh probado con interrupciones, pero no eh dado con la solución. Lo que yo quiero es cuando yo interrumpa la luz del láser el contador solo cuente una vez y no se este ejecutando, disculpen pero es mi primer proyecto y ademas soy nuevo aquí y es por ello que recurro hacia ustedes, de antemano gracias por leer este tema.Por favor ayúdenme el uso de Interrupciones.
Aquí mi código:

int valorE=A5;
int valorS=A0;
int valorSensor1;
int valorSensor2;
int cuenta=0;

void setup() { 
  Serial.begin(9600); // Para ver información en el Seria Monitor.   
} 
 
void loop() 
{   
  valorSensor1 = analogRead(valorE); 
  valorSensor2 = analogRead(valorS); 

  
  if (valorSensor1 <750) 
  { 
    
   aumentar();
   } 
 if (valorSensor2 <750) 
  { 
    
   disminuir();
  }
  Serial.println(cuenta); 
   delay(1500);
} 
void aumentar(){
  cuenta++;
  }
void disminuir(){
  cuenta--;
  }

Porque usas la LDR sensando su valor analogico si lo que te interesa es si esta en 1 o 0?

Es mas facil definir a A0 y A5 como entradas digitales y luego observar el cambio de 1 a 0
Ya que en tu código esperas sensor < 750 o sea cuando pasa de 1 a 0.

Si cambiaras a digital o incluso tal como esta tmb se puede hacer, solo debes ver esto

supon estados bool que llamo sensor1 sensor1Ant

bool sensor1, sensor1Ant = false;

if (!sensor1 && sensor1Ant) {  // si el anterior era 1 y el nuevo valor es 0 entonces =>
    cuenta++;
}
sensor1Ant = sensor1;

repite para el 2 y listo!!

Yo hice este para mi habitacion, pruebalo, puedes usar laser en lugar del infrarrojo:

/* ESTE SISTEMA SIRVE PARA ENCENDER LA LUZ DE LA HABITACION AUTOMATICAMENTE AL ENTRAR UNA O MAS PERSONAS Y APAGANDOLA CUANDO SALE LA ULTIMA.
 * Depende de cual led se interrumpa primero, suma o resta personas
 * ademas contiene un apagador touch
 */
const int rel=13;         //salida al relay    
const int ir1=2;         // infrarrojo 1
const int ir2=4;         // infarrojo 2
const int btn=5;         //apagador sera un interruptor touch

int personas=0;         // para guardar la cantidad de personas en la habitacion
boolean estado_ir1=false;     // para guardar estado de los infrarrojos
boolean estado_ir2=false;     
boolean estado_ant1=false;
boolean estado_ant2=false;
boolean estado_btn=true;       //El boton esta en pull-up
boolean estado_antbtn=true;

void setup() {
Serial.begin(9600); 
pinMode(rel, OUTPUT);
pinMode(ir1, INPUT_PULLUP);
pinMode(ir2, INPUT_PULLUP);
pinMode(btn,INPUT_PULLUP);

}

void loop() {
estado_ir1=digitalRead(ir1);
estado_ir2=digitalRead(ir2);
estado_btn=digitalRead(btn);
Serial.println(personas);
if (personas>=1)                                           //Enciende el relay
    digitalWrite(rel,HIGH);
    else
    digitalWrite(rel, LOW);
if (estado_ir1 != estado_ant1) {                         //con esta instruccion verifico solo el cambio de flanco para solo cuente uno y evitar que suba constantemente el valor. 
         if ((estado_ir1==true)&&(estado_ir2 ==false))               // si se interrumpe la barrera infrarroja y el otro led todavia no se interrumpe 
           personas==personas++;                      // la variable personas suma uno
           estado_ant1=estado_ir1;                   // guardo el estado anterior de la entrada del sensor ir
           delay(100);                              // puse este retardo para que de tiempo de pasar sin que cuente el segundo i.r.
           }

if (estado_ir2 != estado_ant2){       // este es el segundo sensor. Al interrumpirse resta uno
         if((estado_ir2==true)&&(estado_ir1 ==false))
          personas==personas--;
          if(personas<=0)                      //esto es para evitar que cuente numero negativos (si hay alguien en el cuarto y apaga la luz manualmente ocasionaria los # negativos) 
            personas=0;                        //al salir
            estado_ant2=estado_ir2;
          delay(100);
          }
             //*Esta parte es la del apagador ya sea boton o touch*.
  if (estado_btn != estado_antbtn) {        // Se presiono el boton interruptor (ESTA EN PULL-UP)
         if (estado_btn==false)               // si se presiona el boton y la luz estaba apagada suma  solo 1 persona para encender la luz
              if (personas==0)              // la variable personas solo sube 1 para encender la luz
               personas=1;
              else if(personas>=1)             
              personas=0;                   //si la luz esta encendida y se presiona el boton, se apaga sin importar cuantas personas hay en el cuarto
              estado_antbtn=estado_btn;
  }
}

Espero se entienda y te sirva