El sensor PIR no funciona

Soy nuevo en electrónica y microcontroladores. Estoy usando un LPC1768 y un sensor PIR hc sr501 para crear un detector de movimiento simple. He conectado los pines del sensor PIR a la protoboard y al lpc1768. He importado el código de la biblioteca mbed, sin embargo, al pasar la mano por el sensor, el LED no se enciende.

#include "mbed.h"

DigitalOut led1(LED1);
DigitalIn alarm(p29, PullUp); //internal pull up 

int main() {  
    wait(2); 

    while(1) {
        if (!alarm){
            led1=1;
            wait(2);
        }
        else
            led1=0;
    }
}
Bienvenido a SE. Debe verificar si el sensor está funcionando. Puede usar un voltímetro o un multímetro para esto o conectar una resistencia y un LED a la salida del sensor. Ponga enlaces a las hojas de datos de todos los dispositivos para que no todos tengamos que buscarlos en la web. Su comando "esperar (2)" es probablemente 2 ms. Esto puede ser demasiado rápido de ver. Hay un botón de esquema en la barra de herramientas del editor. Agrega un esquema.
Muchas preguntas: ¿Qué fuente de alimentación está utilizando para el SR501? Debe ser de al menos 5V. Tienes la lente puesta? ¿Tienes el sensor de luz (CDS2) instalado en la placa?
@transistor el tiempo predeterminado para el sensor PIR sería segundos, por lo que la espera () realmente no importa. Sería lo suficientemente cierto como para que se vea el led.

Respuestas (1)

El módulo PIR HC SR501 utiliza un circuito integrado de sensor PIR BIS00001. Tiene una salida alta activa. Cuando no se detecta movimiento, la salida se baja, cuando se detecta movimiento, se eleva, a través de R14.

ingrese la descripción de la imagen aquí

No es un colector abierto o bajo activo, a diferencia del SE-10 en el que se basa el proyecto MBED Pir "Hello World". Tienes un pull up habilitado. Intenta desactivar eso para que funcione.

El SE-10 básicamente hace lo mismo, pero tiene un transistor NPN en la salida del IC, que invierte la lógica en el pin de salida. Eso necesita el pull-up.

Hola gracias y perdon por la respuesta tardia. Eliminé el pull up del programa y ahora el LED integrado permanece encendido y, al mover la mano por el sensor, sigue encendido.