0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

科技观察员 来源:circuitdigest 作者:阿斯文斯·拉吉 2023-01-25 15:36 次阅读

在大多数项目中,检测运动或运动一直很重要。在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运动传感器电路图

我们使用 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运动传感器项目

现在,打开 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
}
}

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

    关注

    48

    文章

    7482

    浏览量

    151015
  • Arduino
    +关注

    关注

    187

    文章

    6463

    浏览量

    186615
  • PIR传感器
    +关注

    关注

    3

    文章

    57

    浏览量

    9669
收藏 人收藏

    评论

    相关推荐

    如何使用PIC微控制器和脉搏传感器进行心跳监测

    今天,我们还将使用带有PIC微控制器的脉冲传感器来计算每分钟的心跳次数和心跳间隔,这些值进一步显示在16x2字符LCD上。我们将在本项目中使用 PIC16F877A PIC 微控制器
    的头像 发表于 11-01 16:53 5119次阅读
    如何使用PIC<b class='flag-5'>微控制器</b>和脉搏<b class='flag-5'>传感器</b>进行心跳监测

    PIR与PIC16F877A连接起来的教程

    PIR(被动红外)或运动传感器用于检测移动人体或物体的运动。每当有人进入 PIR 传感器的范围内时,它的输出引脚都会发出高电平。 今天,我们
    的头像 发表于 11-16 16:12 1729次阅读
    <b class='flag-5'>将</b><b class='flag-5'>PIR</b>与PIC16F877A<b class='flag-5'>连接起来</b>的教程

    求助,是否可以CYUSB2014-BZXIT与AR0144CSSC00SUKA0-CPBR连接起来

    与 AR0144CSSC00SUKA0-CPBR 连接起来。 此外,我从技术文档中发现,CYUSB2014-BZXIT 具有 32 位并行数据,而图像传感器只有 12 位并行数据。
    发表于 07-03 06:42

    如何将PLC通信口与无线数据终端连接起来??

    `如何将PLC通信口与无线数据终端连接起来,实现PLC与PLC之间,PLC与HMI触摸屏间,PLC与PC组态软件以及PLC与设备之间的无线数据交换!关注微信公众号【PLC无线通讯】解决您的一切烦恼!`
    发表于 09-28 09:49

    如何将IC的SCL和SDA引脚与FPGA板连接起来

    Aoa ..我想将我的FPGA板(virtex6 ML605)与外部时钟IC(ds1307)连接起来。请指导我如何将IC的SCL和SDA引脚与FPGA板连接。谢谢
    发表于 04-29 08:13

    怎么才能使Atmel Studio 7.0伺服电机与Atmega16 AVR微控制器连接起来

    怎么才能使Atmel Studio 7.0伺服电机与Atmega16 AVR微控制器连接起来
    发表于 09-29 08:37

    如何将蓝牙与STM32连接起来

    蓝牙模块有何功能?如何将蓝牙与STM32连接起来呢?
    发表于 11-18 07:02

    如何将HLW8032与NodeMCU连接起来

    我正在尝试 HLW8032 与 NodeMCU 连接起来。我示例中的代码上传到微控制器,但我在串行监视上获取垃圾值。 当我尝试获取有关
    发表于 05-10 12:59

    如何将ToF传感器与IMX8MP处理连接起来

    我正在尝试 ToF 传感器与 IMX8MP 处理连接起来。我的主机开发 PC 是 Ubuntu 操作系统,所以有人可以指导我使用交叉编译
    发表于 06-08 06:31

    如何将PIR传感器连接Arduino

    在这个项目中,我们将了解PIR传感器以及如何通过Arduino PIR传感器教程将其用作运动传感器
    的头像 发表于 07-30 10:27 5264次阅读

    HC-05和MSP430连接起来控制LED的方式

     今天我们学习如何将蓝牙模块 HC-05 与德州仪器 (TI) 的 MSP430 Launchpad 连接起来。在这个接口示例中,我们将使用蓝牙终端安卓应用程序从智能手机控制 MSP
    发表于 08-29 17:30 1547次阅读
    <b class='flag-5'>将</b>HC-05和MSP430<b class='flag-5'>连接起来</b><b class='flag-5'>控制</b>LED的方式

    微型伺服电机与Atmega16连接起来的方法

    在本教程中,我们将使用 Atmel Studio 7.0微型伺服电机与 Atmega16 AVR 微控制器连接起来。伺服电机额定工作电压为4.8-6V。我们可以通过应用脉冲串或PWM信号来
    发表于 09-09 15:00 1496次阅读
    <b class='flag-5'>将</b>微型伺服电机与Atmega16<b class='flag-5'>连接起来</b>的方法

    PIR传感器Arduino连接

    电子发烧友网站提供《PIR传感器Arduino连接.zip》资料免费下载
    发表于 11-02 10:49 1次下载
    <b class='flag-5'>将</b><b class='flag-5'>PIR</b><b class='flag-5'>传感器</b>与<b class='flag-5'>Arduino</b><b class='flag-5'>连接</b>

    AN4309_STM32L1xx微控制器与外部I2S音频编解码连接起来播放音频文件

    AN4309_STM32L1xx微控制器与外部I2S音频编解码连接起来播放音频文件
    发表于 11-21 08:11 0次下载
    AN4309_<b class='flag-5'>将</b>STM32L1xx<b class='flag-5'>微控制器</b>与外部I2S音频编解码<b class='flag-5'>器</b><b class='flag-5'>连接起来</b>播放音频文件

    RF 433MHz发射/接收模块与MCU连接起来

    电子发烧友网站提供《RF 433MHz发射/接收模块与MCU连接起来.zip》资料免费下载
    发表于 06-13 09:24 4次下载
    <b class='flag-5'>将</b>RF 433MHz发射<b class='flag-5'>器</b>/接收<b class='flag-5'>器</b>模块与MCU<b class='flag-5'>连接起来</b>