CNY 70 Problema al detectar cambio de estado

Bueno gente tengo el siguiente problema con este sensor lo unico que tengo que hacer es al pasar la mano se apague un led y que cuando este se apague me envie un "1" por el puerto serial.
Ahora cual es mi problema es que al parecer el sensor se queda como escuchando constantemente cuando yo tengo la mano sobre el sensor y me envia un " tren de unos" y yo lo q quiero es q cuando yo pase la mano me envie solamente un "1" por el puerto serial.

int ledPin1 = 8;     // pin de un LED 
int ledPin2 = 9;     // pin de otro LED
int infraPin = 4;    // pin del infrarrojos utilizado como entrada digital
int valorInfra = 0;  // Valor inicial de la lectura digital del infrarrojos.
int value; 
int stateLed = 0;
int stateInf =0;
int stateEnv=0;
 
void setup() { 
  pinMode(ledPin1, OUTPUT);     // Inicializa el pin del LED1 como salida digital
  pinMode(infraPin, INPUT);     // Inicializa el pin 4 como entrada digital
  Serial.begin(9600);

} 
 
 
void loop() { 
  if(Serial.available() > 0){
       stateLed = Serial.read();
  }
  valorInfra = digitalRead(infraPin);    // Lee el valor de la entrada 4, esto es, el valor que lee el infrarrojo

  if(stateLed=='1'){
  digitalWrite(ledPin1,HIGH);
  stateInf=1;
  stateLed=99;
  }

switch(stateInf){
  case 1:
        if(valorInfra==LOW){
          digitalWrite(ledPin1,LOW);
          stateEnv=1;
                  stateInf=0;
        }
        break;
                stateInf=0;

}

  switch(stateEnv){
  case 1:
          stateEnv=0;

        Serial.println("1");
                stateEnv=0;

        
        break;
}
 

}

El CNY70 es un sensor reflexivo. Si no le pones el material apropiado no refleja la luz de su led IR.
La mano no refleja muy bien. Prueba con un papel blanco y me dices.

claro pero yo tengo que pasar la mano y cuando pase la mano ahi me tiene que enviar el dato por el puerto tengo q usar si o si la mano

Te comprendo pero te pido que lo hagas con un papel blanco y si responde como responderá, comprobarás que el sensor no sirve para tu proyecto como vas a comprobarlo.
El sensor refleja sobre superficies blancas a menos de 1 cm y no lo hace con otras superficies, color negro o mano p.ej.

claro te entiendo y que tipo de sensor podria usar de movimiento?

A que distancia debe detectar algo?
Porque no pruebas un ultrasónico? Tiene buen alcance y detectará cualquier objeto frente a el en el rango del sensor que es menor igual a 4 mts según la hoja de datos de este modelo HC-SR04