Introducción al sensor de movimiento PIR (HC-SR501)
Un sensor de movimiento de PIR, también conocido como PAGascender Infrado SEnsor, es un tipo de dispositivo electrónico que se usa comúnmente para detectar la presencia de un humano o animal dentro de un cierto rango. El HC-SR501 es un modelo popular de sensor de movimiento PIR que es conocido por su confiabilidad y facilidad de uso.
Funciona mediante el uso de un detector infrarrojo pasivo para detectar cambios de temperatura, que pueden ser causados por el movimiento de una persona o animal. Si se detecta el movimiento del objeto, se envía una señal a dispositivos como un sistema de seguridad o un panel de control de iluminación. Los sensores de movimiento PIR a menudo se usan en sistemas de seguridad para el hogar, sistemas de iluminación automatizados y otras aplicaciones donde es importante detectar la presencia de una persona o animal.
Trabajo del sensor de movimiento PIR (HC-SR501)
El HC-SR501 El sensor de movimiento PIR funciona utilizando un detector de infrarrojos pasivos para detectar cambios de temperatura. Está diseñado para detectar la presencia de un humano o animal dentro de un rango determinado, generalmente hasta aproximadamente 8 metros (26 pies).
Cuando el sensor está inactivo, monitorea constantemente la temperatura en su campo de visión. Si el sensor detecta un cambio de temperatura, como ser causado por el movimiento de una persona o animal, enviará una señal a un dispositivo conectado. Usando esta señal, podemos generar respuestas como encender una luz o activar una alarma.
El sensor de movimiento PIR tiene dos potenciómetros a bordo que se pueden usar para ajustar el sensibilidad y Tiempo de retardo del sensor.
Pinout HC-SR501
El pin sensor PIR incluye:
PIR HC-SR501 tiene 3 pines de salida. Dos pines VCC y GND son pines de alimentación, mientras que el pin medio o tercer es para la señal de activación digital de salida.
Sensor de movimiento PIR interfacioso (HC-SR501) con Arduino Nano
La interfaz de un sensor de movimiento PIR, como el HC-SR501, con un microcontrolador Arduino Nano es un proceso directo que se puede lograr con solo unos pocos componentes. Para comenzar, conecte los pines VCC y GND en el sensor PIR a los pines 5V/VIN y GND en el Arduino Nano, respectivamente. A continuación, conecte el pin de salida en el sensor PIR a cualquier pin de entrada digital en el Arduino Nano.
Una vez que se han realizado estas conexiones, puede usar el Arduino Nano para leer la salida digital del sensor PIR y realizar una acción deseada, como encender un LED o enviar una notificación. Es importante tener en cuenta que el sensor de movimiento PIR puede requerir una pequeña cantidad de calibración para funcionar correctamente. Esto generalmente se puede hacer ajustando la configuración de sensibilidad y retraso de tiempo utilizando los potenciómetros a bordo.
Los componentes requeridos son:
Esquemático
Imagen dada Mostrar diagrama de cableado del sensor PIR con Arduino Nano Board:
Código
Abierto IDE (Entorno de desarrollo integrado). Seleccione Nano Board y haga clic en el botón de carga después de escribir el siguiente código.
int led_pin = 3; /*Pin definido para LED*/
int pir_sensor_pin = 5; /*Pin para el sensor PIR*/
int pirstate = true; /*Suponiendo que no se detecta ningún movimiento*/
int val = 0; /*variable para almacenar el estado del pin*/
int minimumMsecslowforInactive = 2000; /*Suponga que no hay movimiento detectado si no se detecta ninguna actividad para 2 segundos*/
largo sin firmar int timelow;
Takelowtime booleano;
int calibrationtime = 10; /*Tiempo para la calibración del sensor de acuerdo con la hoja de datos*/
setup () void
PinMode (LED_PIN, salida); /*LED declarado como salida*/
PinMode (pir_sensor_pin, entrada); /*Pin del sensor detectado como entrada*/
De serie.comenzar (9600);
De serie.imprimir ("sensor de calibración");
para (int i = 0; i < calibrationTime; i++)
De serie.imprimir(".");
retraso (1000);
De serie.println ("hecho");
De serie.println ("Sensor activo");
retraso (50);
bucle void ()
val = DigitalRead (PIR_SENSOR_PIN); /*Lea el valor del sensor*/
if (val == high) /*if condición para verificar el estado de entrada* /
DigitalWrite (LED_PIN, High); /*Si el valor recibido es alto LED en*/
if (pirstate)
pirstate = false;
De serie.println ("detectado el movimiento!"); /*Imprimir si se detecta el movimiento* /
retraso (50);
Takelowtime = verdadero;
demás
DigitalWrite (LED_PIN, Low); /*Apague el LED*/
if (takelowtime)
timelow = Millis ();
Takelowtime = false;
si(!Pirstate && Millis () - Timelow> MinimumMsecslowforInactive)
pirstate = true;
De serie.println ("El movimiento finalizó!");
retraso (50);
Código iniciado definiendo el pin de entrada para el sensor PIR y el pin de salida para LED. Una variable int Val se define. Esta variable almacenará el estado del pin de salida PIR.
A continuación, usando el pina función, el PIN LED y el sensor se definen como salida y entrada respectivamente. A la condición if se usa. Si el Arduino Nano recibe una alta entrada del LED del sensor se encenderá. Del mismo modo, si no se detecta ningún movimiento, se enviará una señal baja a Arduino, lo que resulta en apagar el LED.
Producción
La siguiente salida se mostrará una vez que el sensor PIR detecte el movimiento. El primer sensor se calibrará después de eso, puede detectar cualquier movimiento.
Hardware
El LED está apagado porque no se detecta ningún movimiento.
Ahora el automóvil se mueve y el LED se enciende a medida que se detecta el movimiento.
Conclusión
Arduino Nano se puede interactuar con diferentes sensores como PIR. Usando este sensor se puede detectar cualquier movimiento del objeto. El sensor PIR con Arduino tiene múltiples aplicaciones, como sistemas de seguridad para el hogar o iluminación de la calle. Este artículo cubre el código completo de Arduino y los pasos involucrados en la detección del movimiento de objetos.