SOLUCIONADO Problema contador barrera laser

al final lo he solucionado haciendo que compruebe los flancos de subida y bajada, os pongo el código por si alguna vez le hace falta a alguien xD

PD: Grácias igual por tu rápida respuesta :wink:

int objectCount = 0;          //cuenta de objetos
bool currentState = 1;
int light_sensitivity = 700;  //sensibilidad ldr
int countTrigger = light_sensitivity + 75;  //flanco de subida
int resetTrigger = light_sensitivity + 60; //flanco de bajada

void checkldr()
{
  int LDRValue = 0;
  //reducimos el ruido comprobando varias veces
  for (int i = 0; i<10; i++){
    delay(1);
    LDRValue += analogRead(ldr);
  }
  LDRValue = LDRValue / 10;

 
  if (currentState == 1) //activamos la espera de un objeto
  { 
    if (LDRValue >= countTrigger){ 
    currentState = 0; //paramos la espera
    objectCount++; //incrementamos la cuenta
    }
  }
  else 
  {
    if (LDRValue <= resetTrigger){ 
     currentState = 1; //volvemos a esperar un objeto
    }
   
  }
 
}

y aquí lo podéis ver funcionando: