如何将PIR传感器与Arduino微控制器连接起来

描述

在大多数项目中,检测运动或运动一直很重要。在PIR传感器的帮助下,检测人/动物的运动变得非常容易。在这个项目中,我们将学习如何将 PIR 传感器与 Arduino 等微控制器连接 。我们将 Arduino 与 PIR 模块连接 ,并在检测到移动时闪烁 LED 并发出蜂鸣器哔哔声。生成此项目需要以下组件。

所需材料:

  1. 红外传感器模块
  2. Arduino UNO (任何版本)
  3. 发光二极管
  4. 蜂鸣器
  5. 面包板
  6. 连接线
  7. 330欧姆电阻器

红外传感器:

PIR 传感器代表被动红外传感器。它是一种低成本的传感器,可以检测人类或动物的存在。传感器中存在两种重要材料,一种是可以检测生物体(人类/动物)的热信号的热释电晶体,另一种是可以扩大传感器范围的菲涅耳透镜。此外,PIR 传感器模块还为我们提供了一些调整传感器工作的选项,如下图所示。

微控制器

微控制器

两个电位计(橙色)用于控制传感器的灵敏度和触发时间。基本上,传感器的Dout引脚位于Vcc和Gnd引脚之间。该模块工作在3.3V,但也可以用5V供电。在左上角,它还具有触发引脚设置,可用于使模块在两种不同的模式下工作。一种是“H”模式,另一种是“I”模式。

在“H”模式下,当检测到有人在范围内时,输出引脚Dout将变为高电平(3.3V),并在特定时间后变为低电平(时间由电位计设置)。在这种模式下,无论该人是否仍在范围内或已离开该区域,输出引脚都将变为高电平。我们在项目中以“H”模式使用我们的模块。

在“I”模式下,当检测到一个人在范围内时,输出引脚Dout将变为高电平(3.3V),只要他/她保持在传感器范围内的限制内,输出引脚Dout就会保持高电平。一旦该人离开该区域,引脚将在可以使用电位计设置的特定时间后变低。

注意:电位计或引脚的位置可能因 PIR 传感器供应商而异。按照丝印确定您的引脚排列

电路图及说明:

下图显示了将Arduino与PIR模块接口并闪烁LED /蜂鸣器的arduino运动检测器项目的电路图。

微控制器

我们使用 Arduino 的 5V 电源轨为 PIR 传感器供电。PIR 传感器的输出引脚连接到 2 ^德·^ Arduino的数字引脚。此引脚将是 Arduino 的输入引脚。然后是 3^RD^Arduino的引脚连接到LED和蜂鸣器。该引脚将充当Arduino的输出引脚。我们将对 Arduino 进行编程以触发 3 上的输出^RD^如果检测到输入为 2 的引脚 ^德·^ 针。完整的程序解释如下。

对 Arduino 进行编程:

Arduino的程序非常简单明了。要连接 Arduino PIR 传感器 ,我们必须将引脚编号 2 分配为输入,引脚编号 3 分配为输出。然后,每当引脚 2 变为高电平时,我们必须产生一个不连续的触发器。下面对每行进行说明。

在下面显示的空白设置函数中,我们必须声明连接到 PIR 输出的引脚 2 将用作输入,连接到 LED/蜂鸣器的引脚 3 将用作输入。

void setup() {

  pinMode(2, INPUT); //Pin 2 as INPUT

  pinMode(3, OUTPUT); //PIN 3 as OUTPUT

}

然后我们继续使用 loop() 函数。众所周知,只要MCU通电,此处的代码就会被执行。因此,我们始终使用 loop() 函数中的以下行来检查 Pin 2 是否变高。

if (digitalRead(2) == HIGH)

如果我们发现特定引脚已变为高电平,则表示已触发 PIR 模块。所以,现在我们已经使我们的输出引脚(引脚3)变高。我们以 100 毫秒的延迟打开和关闭此引脚,以便我们可以获得闪烁或嗡嗡声输出。执行相同操作的代码如下所示。

void setup() {

  pinMode(2, INPUT); //Pin 2 as INPUT

  pinMode(3, OUTPUT); //PIN 3 as OUTPUT

}


void loop() {

  if (digitalRead(2) == HIGH) // check if PIR is triggered.

  {

  digitalWrite(3, HIGH);   // turn the LED/Buzz ON

  delay(100);                       // wait for 100 msecond

  digitalWrite(3, LOW);   // turn the LED/Buzz OFF

  delay(100);                       // wait for 100 msecond

  }

}

加工:

上面已经讨论了这个arduino运动检测器的电路和程序。现在,您可以按照上面给出的原理图在面包板上构建该电路,并上传本教程末尾的程序。连接完成后,您的设置应如下所示。

微控制器

现在,打开 Arduino 电源并等待大约 50-60 秒,让 PIR 传感器进行校准。不要对在此期间获得的输出感到沮丧。之后,尝试移动到 PIR 传感器前面,您的 LED/蜂鸣器应该被触发。

一段时间后应停止发出蜂鸣声/闪烁声;现在,您可以通过改变电位计来改变模块的灵敏度或低时间,从而绕过输出。

void setup() {
pinMode(2, INPUT); //Pin 2 as INPUT
pinMode(3, OUTPUT); //PIN 3 as OUTPUT
}

void loop() {
if (digitalRead(2) == HIGH)
{
digitalWrite(3, HIGH); // turn the LED/Buzz ON
delay(100); // wait for 100 msecond
digitalWrite(3, LOW); // turn the LED/Buzz OFF
delay(100); // wait for 100 msecond
}
}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分