风筝
发表于: 2018-11-25 15:16:03 | 显示全部楼层

在本篇文章中,我们将学习PIR传感器的工作原理以及如何将其与Arduino开发板一起用于检测人体运动。


PIR传感器如何工作

首先让我们来了解一下工作原理。该模块实际上由一个热电传感器组成,该传感器在受热时会产生能量。

PIR-Motion-Sensor-HC-SR501-Module.jpg


这意味着当人或动物体进入传感器的范围时,它将检测到移动,因为人体或动物体以红外辐射的形式发射热能。这就是传感器名称的来源,被动式红外线传感器(Passive Infra-Red Sensor)。术语“被动”意味着传感器不使用任何能量进行检测,它只是通过检测其他物体释放的能量来工作。

PIR-Sensor04.png


该模块还包括一个名为菲涅耳透镜的专门设计的盖子,它将红外信号聚焦到热释电传感器上。

PIR-Motion-Sensor-How-It-Works.png


PIR传感器模块HC-SR501

该模块只有三个引脚,用于为模块供电的接地和VCC,以及一个在检测到物体时提供高逻辑电平的输出引脚。它还有两个电位器。一个用于调节传感器的灵敏度,另一个用于调节检测到物体时输出信号保持高电平的时间。此时间可在0.3秒至5分钟之间调整。

PIR-Sensor-Pinout.jpg


该模块还有三个引脚,其中两个引脚之间有一个跳线。这些引脚用于选择触发模式。第一个称为“不可重复触发”,其工作方式如下:当传感器输出为高电平且延迟时间结束时,输出将自动从高电平变为低电平。另一种称为“可重复触发”的模式将始终保持输出高电平,直到检测到的物体出现在传感器的范围内。


所需的组件

本篇文章使用的组件如下所示:

●    PIR传感器模块HC-SR501

●    5V继电器模块

●    Arduino开发板

●    面包板和跳线

●    电缆、插头、插座


电路原理图

作为本文的一个示例,我将制作一个电路,当传感器检测到物体时,该电路将打开高压灯。以下是电路原理图。传感器的输出引脚将连接到Arduino开发板上的8号引脚,当检测到物体时,7号引脚将激活继电器模块,高压灯将亮起。

PIR-Sensor-Circuit-Schematics_bb.png


有关继电器模块如何工作的更多详细信息,您可以查看我的Arduino继电器教程。


源代码

以下是这个例子的Arduino代码。这很简单。我们只需要将PIR传感器引脚定义为输入,将继电器引脚定义为输出。使用digitalRead()函数,我们读取传感器的输出,如果它为高电平或如果检测到一个对象,它将激活继电器。为了激活继电器模块,我们将发送一个逻辑低电平,因为继电器输入引脚反向工作。

  1. /*     Arduini PIR Motion Sensor Tutorial
  2. *      
  3. *  by Dejan Nedelkovski, www.HowToMechatronics.com
  4. *  
  5. */
  6. int pirSensor = 8;
  7. int relayInput = 7;
  8. void setup() {
  9.   pinMode(pirSensor, INPUT);
  10.   pinMode(relayInput, OUTPUT);  
  11. }
  12. void loop() {
  13.   int sensorValue = digitalRead(pirSensor);
  14.   if (sensorValue == 1) {
  15.     digitalWrite(relayInput, LOW); // The Relay Input works Inversly
  16.   }
  17. }
复制代码

请注意,在为传感器模块供电后,需要大约20-60秒来“预热”才能正常工作。 现在,当您将手放在传感器前面时,继电器将点亮灯。 但请注意,即使您经常移动手,在调整的延迟时间结束后,灯将熄灭,因为PIR传感器处于“不可重复的触发”模式。 如果您使用跳线将传感器更改为“可重复触发”模式并且您不断移动手,则灯将持续亮起,并且在移动消失且设置的延迟时间结束后它将熄灭。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-8 02:46 , Processed in 0.052740 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表