大家好,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输入下面的代码到,然后编译。
int pirSensor=5; // connect sensor at pin 5
int led=13; // connect led at pin 13
void setup()
{
Serial.begin(9600); // initialize serial
pinMode(led, OUTPUT); // initialize led as output
pinMode(pirSensor, INPUT); // initialize sensor as input
}
void loop()
{
int sensorValue = digitalRead(sensor); // read sensor value
Serial.println(sensorValue); // print sensor value
delay(100); // delay 100 miliseconds
if(sensorValue > 600)
{ digitalWrite(led,HIGH); }
}
复制代码
现在,您也可以将信号引脚连接到任何一个模拟引脚,在这种情况下,你必须检查在串口监控器上收到的值是多少,以及使用哪个值来触发指示灯、’蜂鸣器等。
注意,首先传感器需要一些时间的校准,然后它开始检测运动。如果检测到任何运动,它会触发Arduino开发板的LED,并且每隔一段时间继续搜索和保持搜索。如果在特定的时间内没有检测到移动,则会设置为低电平。设定传感器的搜索周期,使得它工作更加高效。
更多有关Arduino开发板的文章,请点击“阅读原文”。