Falsas lecturas sensor IR

Buenos días,

He creado este post en la sección de harware por si el problema que detallo a continuación se pudiera resolver por esa vía. También lo creo aquí por si se puede resolver mediante vía software (o combinación de ambas).

El caso es que tengo un circutio-contador bastante sencillo pero que me está dando un pequeño problema.

He usado el siguiente sensor IR: http://www.electronicaestudio.com/docs/SHT-015d.pdf

cuya salida la he conectado a una R=10K pull-up. El problema que tengo es que me da "falsas lecturas" en ocasiones. He estado leyendo que puede ser debido al efecto rebote.

¿Alguien me puede decir como eliminar ese efecto rebote? Lo he intentado hacer mediante software usando un delay de 500ms tras cada lectura y parece que ha mejorado bastante pero no me puedo permitir que falle en ocasiones.

Os dejo la parte del código:

void loop()
{ 
  lectura = digitalRead(pinsensor);

  if (lectura != 1)
  {
    contador=contador+1;
    printN(contador);
    delay(500);                   //AÑADIDO PARA REDUCIR EL EFECTO REBOTE
    while(digitalRead(pinsensor) != 1)
    {}
  }

Gracias de antemano.

Saludos

Por lo que cuentas has puesto al menos 2 mensajes. Te comento que esto es doble post de modo que te invito a que leas las normas del foro al comienzo de cualquier subforo.

Aca tienes varias posibles soluciones a tu problema

link 1
link 2

a mi me gustan librerías como esta
Bounce o bounce2

Hola surbyte,

En primer lugar gracias por tu respuesta, echaré un vistazo a esos links.

Respecto a crear el post en hardware también, lo hice porque según me ha parecido entender de una lectura por internet se puede corregir el rebote mediante hardware también. Quería saber ambas soluciones: mediante hardware y software.

Gracias de nuevo

bien, solo te digo que una sola pregunta es suficiente. Sino todos ponemos preguntas por todos lados y tenemos un foro lleno de la misma pregunta porque el forero es impaciente.
Eso esta bien aclarado en las normas del foro.
Ahora pidele al moderador que borre tu otra consulta y asunto terminado.

revisa las opciones que te he dato y seguramente lo resolverás.