PIR 传感器如何工作以及如何与 Arduino 一起使用
在本 Arduino 教程中,我们将了解 PIR 传感器的工作原理以及如何将其与 Arduino 板一起用于检测运动。您可以观看以下视频或阅读下面的书面教程。
首先解释一下工作原理。该模块实际上由一个热释电传感器组成,该传感器在受热时会产生能量。
这意味着当人体或动物身体进入传感器的范围内时,它会检测到运动,因为人体或动物身体会以红外辐射的形式发出热能。这就是传感器名称的来源,即被动红外传感器。而“无源”一词是指传感器不使用任何能量进行检测,它只是通过检测其他物体发出的能量来工作。
该模块还包括一个专门设计的名为菲涅耳透镜的盖子,它将红外信号聚焦到热释电传感器上。
该模块只有三个引脚,一个接地和一个用于为模块供电的 VCC,以及一个输出引脚,如果检测到物体,它会提供高逻辑电平。它还有两个电位器。一个用于调整传感器的灵敏度,另一个用于调整检测到物体时输出信号保持高电平的时间。这个时间可以在 0.3 秒到 5 分钟之间调整。
该模块还有三个引脚,其中两个引脚之间有一个跳线。这些引脚用于选择触发模式。第一个称为“不可重复触发”,其工作原理是:当传感器输出为高电平且延迟时间结束时,输出将自动由高电平变为低电平。另一种称为“可重复触发”的模式将一直保持输出高电平,直到检测到的物体出现在传感器的范围内。
您可以从以下任何网站获取组件:
作为本教程的示例,我将制作一个电路,当传感器检测到物体时,该电路将打开高压灯。这是电路原理图。传感器的输出引脚将连接到 Arduino Board 上的 8 号引脚,当检测到物体时,7 号引脚将激活继电器模块并打开高压灯。
有关继电器模块工作原理的更多详细信息,您可以查看我的 Arduino 继电器教程。 (请记住,我们在示例中使用了高压,因此您应该非常小心,因为我不对您的行为承担任何责任)
这是此示例的 Arduino 代码。这很简单。我们只需要将 PIR 传感器引脚定义为输入,将继电器引脚定义为输出。使用 digitalRead() 函数,我们将读取传感器的输出,如果其为高电平或检测到物体,它将激活继电器。为了激活继电器模块,我们将发送一个逻辑低电平,因为继电器输入引脚反向工作。
该示例的演示可以在上面附加的视频末尾看到。请注意,在为传感器模块供电后,它需要大约 20 – 60 秒来“预热”才能正常工作。现在,当您将手放在传感器前面时,继电器将激活灯。但请注意,即使您不断移动您的手,灯也会在调整的延迟时间结束后关闭,因为 PIR 传感器处于“不可重复触发”模式。如果将带跳线的传感器切换到“可重复触发”模式并不断移动手,则灯也会一直亮着,并且在移动消失并且设置的延迟时间结束后会关闭。主页> 工作原理
HC-SR501 PIR 传感器模块
本教程需要的组件
电路原理图
源代码
/* Arduini PIR Motion Sensor Tutorial
*
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
*/
int pirSensor = 8;
int relayInput = 7;
void setup() {
pinMode(pirSensor, INPUT);
pinMode(relayInput, OUTPUT);
}
void loop() {
int sensorValue = digitalRead(pirSensor);
if (sensorValue == 1) {
digitalWrite(relayInput, LOW); // The Relay Input works Inversly
}
}
Code language: Arduino (arduino)
制造工艺
- PIR 传感器电路和模块工作
- C# 队列示例:什么是 C# 队列以及如何使用?
- 带 LED 和压电扬声器的 DHT11 传感器
- 如何将 Arduino Mega 与 NEO-6M GPS 模块连接
- u-blox LEA-6H 02 GPS 模块,带有 Arduino 和 Python
- 如何使用 DHT11 在 Blynk 上读取温度和湿度
- 使用热敏电阻有多容易?!
- 如何在 Arduino 中使用 NMEA-0183
- 如何在 Arduino 中使用 Modbus
- 通过 PIR 传感器和 Arduino 轻松检测运动和手势
- Arduino with IR Sensor
- nRF24L01 – 工作原理、Arduino 接口、电路、代码