Sensor PIR no funciona

Hola, buenas noches,

Hace poco recibí un sensor PIR de dealextreme, concretamente este:

http://www.dx.com/p/ir-infrared-motion-detection-sensor-module-dc-5v-20v-139624#.VNOiqDVXa00

Es un modelo HC-SR501.

He conectado el positivo al 5v, como indica en el pin de positivo del sensor, y el negativo a tierra y la señal al pin 2.

El programa que uso es el siguiente

byte ledPin = 13;
byte motionPin = 2;
byte senseMotion = 0;

void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(motionPin, INPUT);
  Serial.begin(9600);
  while (!Serial);
  Serial.println("Serial inicializado");
}

void loop(){
  senseMotion = digitalRead(motionPin);
    if (senseMotion == HIGH) { 
      digitalWrite(ledPin, HIGH);
      Serial.println("Movimiento detectado");
    } else {                    
      digitalWrite(ledPin, LOW);
    }
}

Este programa lo que hace básicamente es detectar si ha habido movimiento si hay movimiento enciende el led que lleva Arduino (que corresponde al pin 13)

El caso es que al cargaro en Arduino UNO el led 13 que es el interno de arduino no para de oscilar, con un intervalo de 1-2 segundos, le paso la mano por delante del sensor y nada.

He leído que cuando se carga el programa es normal que haya este tipo de interferencias ya que se está calibrando, pero es que lo que me pasa a mi es que esas interferencias son continuas y no responde a cuando le pongo la mano delante.

¿Alguna idea o algo estoy haciendo mal?

Hola:

Puede que aquí te diga algo más sobre sensores PIR.

Saludos.

Tienes que ajustarlo con los dos potenciometros, yo tengo el mismo, no es muy preciso que digamos, pero da el apaño...

Pero primero concentrate en hacer funcionar el sensor, solo alimentalo y ponele a la salida un LED y haz que funcione. Cuando lo tengas lo conectas al Arduino. No trabajes con 2 variables a la vez, saber si anda el sensor y saber si tu programa detecta al sensor.

Aunque es un post antiguo y he comprado un lote con algunos defectuosos indicar que lo primero es ver el sensor:

En vacío (con tensión 5Vdc y 0V en los pines correspondientes al Datasheet y sin conectar a Arduino) en el pin señal (el del medio) en ausencia de movimiento deberá ofrecer 0V y 3.7Vdc en caso contrario.

Para ello el Jumper de selección simple o repetitivo recomiendo cambiar a modo repetitivo y tanto sensibilidad como tiempo al mínimo.

De esta forma se puede probar si el sensor está bien.

Datasheet en español: https://puntoflotante.net/MANUAL-DEL-USUARIO-SENSOR-DE-MOVIMIENTO-PIR-HC-SR501.pdf