北京儿童插座价格联盟

如何使用Arduino开发板连接PIR红外传感器?

只看楼主 收藏 回复
  • - -
楼主

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

原理框图


本篇文章所需的元器件

1.  Arduino开发板

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

3.  面包板

4.  导线

5.  电池


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

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

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


电路原理图

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

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


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,并且每隔一段时间继续搜索和保持搜索。如果在特定的时间内没有检测到移动,则会设置为低电平。设定传感器的搜索周期,使得它工作更加高效。


更多有关Arduino开发板的文章,请点击“阅读原文”。


举报 | 1楼 回复

友情链接