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;
}
}