Primero la bronca. Por favor, lee las normas del foro, las tienes al principio de cada subforo, el tema Normas del FORO EN ESPAÑOL. En el punto 5, verás que un título como "Ayuda por favor" no es correcto, ya que no es descriptivo del problema. Por favor, edita el primer mensaje del post, y substituyelo por algo que describa realmente el problema. Además, has duplicado el post, de forma que voy a pedir a un moderador que elimine el duplicado, ya que no aporta nada.
Ahora vamos a por la solución. Necesitas usar una variable de estado, de forma que, mientras está cortado el haz de luz, no cuente más, y reiniciar ese estado, cuando se restablezca el haz de luz.
Lo primero que vamos a hacer, es declarar la variable de estado, del tipo boolean, antes del setup.
boolean estado = false; // Variable de estado
Usamos una boolean, porque no necesitamos más, y ocupa solamente un byte de memoria. Lo que vamos a hacer, es que, mientras no pase nadie por la puerta, la variable de estado será false. y cuando pase alguien, será true. Ahora, lo que hacemos es que en al if, le añadimos el estado==false, y cuando se cumpla el if, cambiamos el estado a true:
if (sensorValue > 500 && estado == false)
{
digitalWrite(OutPin, HIGH);
contador = contador + 1;
estado = true;
}
Este if, se cumplirá en el momento en que empiece a pasar alguien, y tape el haz de luz. En ese momento, el led del pin 13 se enciende, se cuenta una persona al contado, y el estado pasa a true. Mientras esté el haz de luz interrumpido, no se volverá a cumplir más este if, ya que, aunque el sensorValue sea mayor que 500, el estado sigue estando en true.
Una vez que la persona ha pasado del todo y se restablece el haz de luz, tenemos que restablecer también el estado a false, de forma que eliminamos el else que había antes, y lo substituimos por otro if:
if (sensorValue < 500 && estado == true)
{
digitalWrite(OutPin, LOW);
estado = false;
}
Este if, solo se cumple, cuando ha pasado alguien, puso el estado en true, y deja libre de nuevo el haz de luz. En ese momento, el led se apaga y cambia el estado a false, de forma que deja vía libre al contador, para la siguiente persona que entra.
Prueba a implementar esto y me dices que tal va. Yo lo he probado y me funciona.