Si estás buscando una forma simple y efectiva de detectar movimiento en tus proyectos de Arduino, el sensor PIR HC-SR501 es la solución perfecta. En este artículo, te explicaremos detalladamente cómo funciona este sensor de movimiento y cómo puedes conectarlo fácilmente a tu placa de Arduino. ¡Descubre todo lo que necesitas saber para incorporar esta poderosa herramienta a tus creaciones electrónicas!
Ya sea que desee construir una alarma antirrobo, una cámara de seguimiento o desee despertar accesorios animados de Halloween cuando haya gente pidiendo dulces en su puerta, definitivamente debería considerar comprar un infrarrojo pasivo (PIR) HC-SR501. sensor en sí.
El sensor PIR le permite detectar cuando una persona o animal entra o sale del alcance del sensor. Este sensor se puede encontrar en la mayoría de los sistemas de seguridad modernos, interruptores automáticos de luz, abridores de puertas de garaje y aplicaciones similares en las que queremos reaccionar al movimiento.
Antes de entrar en detalles, primero comprendamos cómo funciona realmente un sensor PIR.
¿Cómo funciona un sensor PIR?
Todos los objetos, incluido el cuerpo humano, emiten energía térmica en forma de radiación infrarroja a temperaturas superiores al cero absoluto (0 Kelvin / -273,15 °C). Cuanto más caliente está un objeto, más radiación emite. Esta radiación no es visible para el ojo humano porque se emite en el rango de longitud de onda infrarroja. El sensor PIR está diseñado específicamente para detectar dichos niveles de radiación infrarroja.
Un sensor PIR consta de dos partes principales:
- Un sensor piroeléctricoque puedes ver en la imagen de abajo como un metal redondo con un cristal rectangular en el medio.
- Una lente especial llamada lente de Fresnel que enfoca las señales infrarrojas en el sensor piroeléctrico.
El sensor piroeléctrico
Un sensor piroeléctrico consta de una ventana con dos rendijas rectangulares y está fabricado de un material (normalmente recubierto de silicio) que deja pasar la radiación infrarroja. Hay dos electrodos sensores de infrarrojos separados detrás de la ventana, uno de los cuales es responsable de generar la señal de salida positiva y el otro de generar la señal de salida negativa.
Los dos electrodos están conectados para anularse entre sí. Esto se debe a que buscamos cambios en los valores de IR, no valores de IR en el área circundante. Es por eso que obtenemos el resultado cuando una mitad ve más o menos radiación IR que la otra.
Cuando no hay movimiento alrededor del sensorAmbas ranuras detectan la misma cantidad de radiación infrarroja, lo que da como resultado una señal de salida cero.
Pero cuando aparece un cuerpo cálido como el de un humano o un animal, inicialmente intercepta la mitad del sensor. Esto da como resultado un cambio de diferencia positivo entre las dos mitades. Cuando el cuerpo caliente intercepta la otra mitad del sensor (abandona el rango de detección), sucede lo contrario y el sensor produce un cambio diferencial negativo. Al leer este cambio de voltaje, se detecta movimiento.
La lente de Fresnel
Es posible que sienta que la lente Fresnel utilizada aquí realmente no hace nada. En realidad, esto aumenta el alcance y el campo de visión del sensor PIR. Su diseño delgado y liviano y su excelente capacidad de captación de luz lo hacen extremadamente útil para hacer PIR pequeños pero potentes.
Una lente de Fresnel consta de una serie de ranuras concéntricas grabadas en el plástico. Estos contornos actúan como superficies de refracción individuales y recogen rayos de luz paralelos en un punto focal. Esto permite que una lente Fresnel, aunque más pequeña, enfoque la luz de manera similar a una lente óptica tradicional.
Para aumentar el alcance y el campo de visión del sensor PIR, la lente en realidad se divide en múltiples secciones facetadas, cada sección de las cuales es una lente Fresnel separada.
Las diferentes facetas y sublentes crean una serie de áreas/zonas de detección que están anidadas entre sí. Esta es la razón por la que los centros de las lentes en la imagen de arriba son «inconsistentes»: cada segundo apunta a una mitad diferente del elemento del sensor PIR.
Descripción general del hardware del sensor PIR HC-SR501
Para la mayoría de nuestros proyectos Arduino que requieren detectar si alguien ha entrado o salido del área, el sensor PIR HC-SR501 es una buena opción. Es energéticamente eficiente, económico, fácil de conectar y extremadamente popular entre los aficionados.
Este sensor PIR en sí es bastante simple y funciona desde el primer momento. Simplemente aplique un voltaje de 5V – 12V y conéctelo a tierra. La salida del sensor pasa a ALTA cuando se detecta movimiento y a BAJA cuando está inactivo (no se detecta movimiento).
Al conectar esta salida al microcontrolador, puede responder al movimiento encendiendo o apagando las luces, activando un ventilador, activando un accesorio de Halloween o quizás tomando una foto de un intruso.
Y lo mejor es que consume menos de 2 mA de energía y puede detectar movimiento hasta 7 metros (21 pies) con control de sensibilidad.
Controlador PIR BISS0001
El corazón del módulo es un controlador de infrarrojos pasivo IC (PIR) – BISS0001. Debido a su inmunidad a las interferencias, el BISS0001 es uno de los controladores PIR más estables del mercado.
Este chip toma la señal de salida del sensor piroeléctrico y la procesa ligeramente para generar un pulso de salida digital.
Puede obtener más información sobre BISS0001 en ficha de datos.
Actuación
El módulo cuenta con un regulador de voltaje de precisión de 3,3 V, por lo que puede funcionar con cualquier voltaje de CC de 4,5 a 12 voltios, aunque comúnmente se usa 5 V.
El módulo está equipado con un diodo de protección (también llamado diodo de seguridad) para proteger el módulo contra voltaje y corriente inversa. Incluso si accidentalmente conecta la alimentación con la polaridad incorrecta, su módulo no se dañará.
Ajuste de sensibilidad
El sensor PIR tiene un potenciómetro en la parte trasera para ajustar la sensibilidad.
El rango máximo de detección se establece con este potenciómetro. La sensibilidad se puede ajustar dentro de un rango de aproximadamente 3 a 7 metros (9 a 21 pies). Sin embargo, la topología de su habitación puede afectar el alcance real. Girar el potenciómetro en el sentido de las agujas del reloj aumenta la sensibilidad y, por tanto, el alcance y viceversa.
Ajuste de retardo de tiempo
En la parte posterior del sensor PIR hay otro potenciómetro para ajustar el retardo de tiempo.
Este potenciómetro determina cuánto tiempo la salida permanece ALTA después de que se detecta movimiento. Se puede configurar desde 1 segundo hasta aproximadamente 3 minutos. Girar el potenciómetro en el sentido de las agujas del reloj aumenta el retraso, mientras que girarlo en el sentido contrario a las agujas del reloj disminuye el retraso.
Puente de selección de disparador
Hay dos modos de disparo que determinan cómo reacciona el sensor cuando se detecta movimiento.
Modo de disparo único: El movimiento constante activa un único gatillo.
Modo de disparo múltiple: El movimiento constante desencadena una serie de factores desencadenantes.
La placa viene con un puente de montaje (algunos módulos tienen un puente de soldadura) para que puedas elegir entre dos modos:
l – Al seleccionar esta opción se establece el modo de disparo único. En este modo, la salida pasa a ALTA tan pronto como se detecta movimiento y permanece ALTA durante un período de tiempo determinado por el potenciómetro de retardo de tiempo. Se bloquea una mayor detección hasta que la salida vuelve a BAJA una vez transcurrido el tiempo de retardo. Si todavía hay movimiento, la salida vuelve a ser ALTA. Como puede ver en la imagen a continuación, la solicitud n.° 3 se ignora por completo.
h – Al seleccionar esta opción se configura el modo de disparo múltiple. En este modo, la salida pasa a ALTA tan pronto como se detecta movimiento y permanece ALTA durante un período de tiempo determinado por el potenciómetro de retardo de tiempo. A diferencia del modo de disparo único, la detección adicional no se bloquea, por lo que el retardo se restablece cada vez que se detecta movimiento. Tan pronto como se detiene el movimiento, la salida vuelve a BAJA sólo después de un retraso de tiempo. De ahí el nombre de modo de disparo múltiple.
Componentes opcionales: termistor y LDR
El módulo HC-SR501 tiene terminales de soldadura para dos componentes adicionales. Generalmente se denominan “RT” y “RL”. Tenga en cuenta que en algunas placas la etiqueta puede quedar oculta por una lente Fresnel en el lado opuesto de los componentes.
RT – Esta conexión está destinada a un termistor o una resistencia sensible a la temperatura. Esto significa que el HC-SR501 también se puede utilizar a temperaturas extremas. Esto también aumenta en cierta medida la precisión del detector.
RL – Este conector está diseñado para una resistencia dependiente de la luz (LDR) o un fotorresistor. Al agregar este componente, el HC-SR501 también puede funcionar en la oscuridad. Esto es útil para construir sistemas de iluminación sensibles al movimiento.
Estos componentes adicionales se pueden soldar directamente al módulo o expandirse a ubicaciones remotas mediante cables y conectores.
Especificaciones técnicas
Aquí están las especificaciones:
Tensión de funcionamiento | 4,5 – 20 V (normalmente 5 V) |
Consumo máximo de corriente | <2mA |
Tiempo de retardo | ~ 1 segundo a 3 minutos |
Distancia de detección | 3 – 7 metros (9 – 21 pies) |
Ángulo de detección | 120 grados (normalmente) |
Asignación de pines del sensor PIR HC-SR501
El HC-SR501 tiene un conector de 3 pines. Las marcas quedan ocultas por la lente de Fresnel. La asignación de pines se puede encontrar en la siguiente imagen.
VCC es la fuente de alimentación para el sensor. Puede conectar un voltaje de entrada entre 5 y 12 V a este pin, pero normalmente se utilizan 5 V.
producción El pin es la salida lógica TTL de 3,3 V. Se pone ALTO cuando se detecta movimiento y BAJO cuando está inactivo (no se detecta movimiento).
Tierra es el pin de tierra.
Uso del sensor PIR como unidad independiente
Una de las razones por las que el sensor PIR HC-SR501 es extremadamente popular es que es un sensor muy versátil y bastante capaz por sí solo. Puedes aumentar aún más la versatilidad conectándolo a un microcontrolador como Arduino.
Para nuestro primer experimento, usaremos el HC-SR501 para mostrar lo útil que es por sí solo.
El cableado para este experimento es muy sencillo. Conecte las baterías al VCC y GND del sensor mediante una resistencia limitadora de corriente de 220 Ω y un pequeño LED rojo al pin de salida. ¡Eso es todo!
Ahora, cuando el PIR detecta movimiento, el pin de salida pasa a “ALTO” y el LED se enciende.
Recuerda que después de encender el circuito, debes esperar entre 30 y 60 segundos para que el PIR se ajuste a la energía infrarroja de la habitación. Durante este tiempo, el LED puede parpadear ligeramente. Espere a que el LED se apague por completo, luego camine frente a él o agite la mano y observe cómo el LED se ilumina en consecuencia.
Esta salida PIR se puede conectar directamente a un módulo de relé si desea encender o apagar algo en función del movimiento.
Cableado de un sensor PIR a un Arduino
Ahora que entendemos completamente cómo funciona el sensor PIR, ¡podemos comenzar a conectarlo a nuestro Arduino!
Conectar el sensor PIR al Arduino es realmente sencillo. Suministre 5 V al PIR y conecte tierra a tierra. El PIR actúa como una salida digital, por lo que sólo necesitas escuchar el pin de salida. Así que conecte la salida al pin digital número 8 de Arduino.
Para que el HC-SR501 funcione correctamente, coloque el puente en la posición H (Modo de disparo múltiple). También debe configurar el retardo de tiempo en al menos 3 segundos y girar el potenciómetro de retardo de tiempo en sentido antihorario hasta que se detenga. Finalmente, configura el potenciómetro de sensibilidad en cualquier posición o si no estás seguro, configúralo en el medio.
La siguiente tabla enumera las conexiones de pines:
Sensor PIR HC-SR501 | arduino | |
VCC | 5V | |
Tierra | Tierra | |
FUERA DE | octavo |
La siguiente imagen muestra cómo conectar el sensor PIR HC-SR501 al Arduino.
Ahora puedes cargar el código y hacer que el PIR funcione.
código de ejemplo de arduino
El código es muy simple. Básicamente, simplemente rastrea si la entrada en el pin 8 es ALTA o BAJA.
int ledPin = 13; // choose the pin for the LED
int inputPin = 8; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare sensor as input
Serial.begin(9600);
}
void loop(){
val = digitalRead(inputPin); // read input value
if (val == HIGH) // check if the input is HIGH
{
digitalWrite(ledPin, HIGH); // turn LED ON
if (pirState == LOW)
{
Serial.println("Motion detected!"); // print on output change
pirState = HIGH;
}
}
else
{
digitalWrite(ledPin, LOW); // turn LED OFF
if (pirState == HIGH)
{
Serial.println("Motion ended!"); // print on output change
pirState = LOW;
}
}
}
Pase su mano sobre el sensor mientras el sensor está hacia arriba. El terminal serie debería mostrar un mensaje de «Movimiento detectado».
Cosas a considerar antes de diseñar aplicaciones basadas en PIR
Al diseñar un sistema basado en el HC-SR501, debe considerar los siguientes tiempos de retardo.
tiempo de bloqueo
Cuando la salida del sensor pasa a BAJA, permanece BAJA durante aproximadamente 2 segundos. La detección de movimiento está bloqueada.
Suponga que ha configurado el sensor para un retraso de 4 segundos y ha configurado el puente en «L». Entonces, cuando mueves la mano frente al sensor, la salida pasa a ALTA durante 4 segundos y luego a BAJA durante aproximadamente 2 segundos. Cualquier solicitud durante este período será completamente ignorada; Como puede ver, la solicitud n.° 2 se ignora aquí.
Retardo de encendido
Como la mayoría de los sensores PIR, el HC-SR501 tarda aproximadamente de 30 a 60 segundos en realizar la secuencia de inicialización después de encenderse. En este punto, aprende la firma infrarroja del entorno circundante. Esencialmente, se calibra con el entorno para determinar qué constituye movimiento.
Durante este período de calibración, es probable que se produzcan activaciones falsas, por lo que se deben ignorar todas las activaciones durante este período. Asegúrese también de que no haya demasiado movimiento delante del sensor durante la autocalibración, ya que esto puede afectar el proceso de calibración.
Cómo funciona en sensor PIR HC-SR501
El sensor PIR HC-SR501 es un sensor de movimiento pasivo de infrarrojos (PIR) que se utiliza en una variedad de aplicaciones, desde alarmas para el hogar hasta cámaras de vigilancia. Funciona detectando radiación infrarroja emitida por objetos que se mueven en su rango de detección, como personas o animales.
¿Cómo funciona un sensor PIR?
Un sensor PIR consta de dos partes principales: un sensor piroeléctrico y una lente fresnel. El sensor piroeléctrico detecta cambios en la radiación infrarroja emitida por los objetos en movimiento, mientras que la lente fresnel enfoca las señales infrarrojas en el sensor.
Componentes del sensor HC-SR501
El sensor HC-SR501 es fácil de usar y se conecta a una microcontroladora como Arduino. Tiene un controlador PIR llamado BISS0001 que procesa la señal del sensor piroeléctrico. Además, cuenta con ajustes de sensibilidad y retardo de tiempo que te permiten personalizar su funcionamiento.
Conexión a Arduino
Conectar el sensor HC-SR501 a Arduino es sencillo. Solo necesitas alimentarlo con 5V, conectar la tierra y el pin de salida a un pin digital de Arduino. Puedes usar el sensor para encender luces, activar dispositivos o crear sistemas de iluminación sensibles al movimiento.
Consideraciones al diseñar aplicaciones basadas en PIR
Al diseñar sistemas basados en el sensor HC-SR501, debes tener en cuenta los periodos de bloqueo y retraso. El sensor tiene un tiempo de bloqueo de aproximadamente 2 segundos después de detectar movimiento y un tiempo de calibración de 30 a 60 segundos al encenderlo. Esto evita falsas alarmas y garantiza un funcionamiento óptimo.
- Lockout Time: El sensor tiene un periodo de bloqueo de 2 segundos después de cada detección.
- Power On Delay: El sensor necesita tiempo de calibración al encenderse para ajustarse al entorno.
Con el sensor HC-SR501, puedes crear proyectos de detección de movimiento personalizados e innovadores. ¡Explora las posibilidades que ofrece este versátil sensor!
Fuente: losant.com
¡Qué interesante artículo! Me gustaría probar este sensor PIR con mi Arduino. ¡Gracias por la información!
¡Buena explicación! Me quedó claro cómo funciona el sensor PIR y cómo conectarlo a mi Arduino. ¡Gracias por compartir! ¡Genial!