风筝
发表于: 2016-7-6 15:36:18 | 显示全部楼层

大家好,Arduino爱好者。有没有想过使用Arduino开发板来检测动作。如果想过的话,那本篇文章就是写给你的。今天,本篇文章,我们将使用Arduino开发板来连接PIR传感器。

原理框图

PIR motion sensor.png

本篇文章所需的元器件

1.  Arduino开发板

2.  PIR被动式红外动作传感器

3.  面包板

4.  导线

5.  电池


什么是PIR运动传感器以及它是如何工作的?

PIR的全称是“Passive Infrared Sensor”。传感器的工作原理是检测人体发射的红外波。我们是无法察觉到他们,但可以通过专为这种特殊用途的设备发现。我会介绍的深入一些,可以让你更多的了解内部操作。

当人体在PIR传感器前面移动时,人体经过的的地方的温度发生了变化。如果人体进一步移动,PIR传感器会接收该区域的红外波,并且由于读数与上一次读数不一样,会产生一个用于微控制器的信号,我们就可以据此进行处理。


电路原理图

我们可以很容易的使用Arduino连接PIR运动传感器,像其他的传感器一样。但是这一切都取决于我们的代码逻辑,我们想要通过它如何有效的来检测运动。

和其他的传感器一样,PIR有3个引脚,VCC、信号和地。下图展示了一个非常简单的使用Arduino连接PIR运动传感器的电路:

PIR Motion Sens Circuit.png

PIR传感器还有2个旋钮。一个用于通过增大或减小运动检测的范围来调整灵敏度,另一个用于调整响应延迟的灵敏度。如果你是在家居安全使用PIR,强烈建议将设置为最大范围(向右)。然而,PIR传感器所提供的检测范围已经足够好,像约6米,因为我已经成功地进行了测试。


源代码

下面是本篇文章的简单代码,如果有任何动作,就会并触发LED用于验证。在Arduino IDE输入下面的代码到,然后编译。

  1. int pirSensor=5;                                                     // connect sensor at pin 5
  2. int led=13;                                                             // connect led at pin 13
  3. void setup()
  4. {
  5.    Serial.begin(9600);                                             // initialize serial
  6.    pinMode(led, OUTPUT);                                  //  initialize led as output
  7.    pinMode(pirSensor, INPUT);                            //  initialize sensor as input  
  8. }

  9. void loop()
  10. {
  11.   int sensorValue = digitalRead(sensor);                // read sensor value
  12.   Serial.println(sensorValue);                                 // print sensor value  
  13.   delay(100);                                                          //  delay 100 miliseconds
  14.   if(sensorValue > 600)
  15.   { digitalWrite(led,HIGH); }
  16. }
复制代码

现在,您也可以将信号引脚连接到任何一个模拟引脚,在这种情况下,你必须检查在串口监控器上收到的值是多少,以及使用哪个值来触发指示灯、’蜂鸣器等。

注意,首先传感器需要一些时间的校准,然后它开始检测运动。如果检测到任何运动,它会触发Arduino开发板的LED,并且每隔一段时间继续搜索和保持搜索。如果在特定的时间内没有检测到移动,则会设置为低电平。设定传感器的搜索周期,使得它工作更加高效。

PIR motion sensor.jpg

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

本版积分规则

主题 700 | 回复: 1483



手机版|

GMT+8, 2024-5-9 23:45 , Processed in 0.037047 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

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

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