PIR(被动红外)或运动传感器用于检测移动的人体或物体的运动。每当有人进入PIR传感器范围内时,它的输出引脚就会变为高电平。我们之前已将PIR与其他微控制器接口:
- 使用PIR传感器的Arduino运动检测器
- 基于物联网的具有电子邮件警报的Raspberry Pi家庭安全系统
- 带AVR微处理器的自动楼梯灯
今天,我们很容易将PIR与PIC单片机PIC16F877A接口。在该电路中,如果某些运动物体进入PIR传感器范围内,则蜂鸣器将开始发出蜂鸣声。
所需材料
- PicKit 3
- PIR传感器。
- PIC16F877A集成电路
- 40-引脚IC支架
- 穿孔板
- 20 MHz晶振OSC
- 男性和男性Male子针
- 33pf电容器-2号,100uf和10uf电容器。
- 680欧姆,10K和560欧姆电阻
- 任何颜色的LED
- 1个焊接套件
- IC 7805
- 12V适配器
- 蜂鸣器
- 连接线
- 面包板
PIR传感器:
PIR传感器价格低廉,低功耗且易于使用运动检测Sesnor。PIR传感器仅接收红外线而不会发射,因此被称为无源。PIR感测到热量的任何变化,如果有变化,则输出为HIGH。PIR传感器也称为热释电或IR运动传感器。
每个物体在加热时都会发出一定量的红外光,类似于人体由于体热而发出的红外光。由于空气和物体之间的摩擦,每个物体都会产生红外线。PIR传感器的主要组件是热释电传感器。随之而来的还有BISS0001(“微功率PIR运动检测器IC”),一些电阻器,电容器和其他用于构建PIR传感器的组件。BISS0001 IC从传感器获取输入,并进行处理以相应地使输出引脚为HIGH或LOW。
在此处了解有关PIR传感器的更多信息。您还可以调整距离灵敏度和持续时间,一旦检测到运动,输出引脚将保持为高电平。它有两个电位器旋钮可调节这两个参数。
电路原理图
PIC单片机:
为了对用于连接PIR的PIC单片机进行编程,我们需要 进行编程的IDE(集成开发环境)。一个 编译器, 在那里我们得到的程序转换成MCU可读的形式称为HEX文件。一个 IPE(集成编程环境),它是用来转储我们的hex文件下载到我们的PIC MCU。
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
编译器: XC8
Microchip已免费提供所有这三个软件。可以直接从其官方页面下载它们。为了方便您,我也提供了链接。下载完成后,将它们安装在您的计算机上。如果这样做有任何问题,您可以 查看最后 给出的视频。
倾倒或上传我们的代码到PIC,我们需要 的PICkit 3 中 的PICkit 3 编程/调试器是通过运行MPLAB IDE在PC(v8.20或更高版本)软件控制的简单,低成本的在线调试器Windows平台。该 的PICkit 3 编程/调试器是开发工程师的工具套件的组成部分。除此之外,我们还将需要其他硬件,例如Perf板,焊台,PIC IC,晶体振荡器,电容器等。但是,随着教程的进行,我们会将它们添加到列表中。
我们将使用MCU中可用的ICSP选项对PIC16F877A进行编程。
要刻录代码,请按照以下步骤操作:
- 启动MPLAB IPE。
- 将PicKit 3的一端连接到PC,另一端连接到perf板上的ICSP引脚。
- 通过单击连接按钮连接到PIC设备。
- 浏览闪烁的HEX文件,然后单击“程序”。
如果您不熟悉PIC单片机,那么请首先阅读以下教程以了解如何使用和编程PIC:
- PIC单片机入门:PIC和MPLABX简介
- 使用PIC单片机编写第一个程序并设置配置位
- PIC微控制器的LED闪烁
代码和解释
首先,我们需要在pic微控制器中设置配置位,然后从 void main 函数开始。
在下面的代码中, “ XC.h” 是头文件,其中包含引脚和外设的所有友好名称。另外,我们在以下代码中定义了晶体振荡器频率,PIR和蜂鸣器引脚连接。
#包括
在void main()中,“ TRISB = 0X00” 用于指示MCU PORTB 引脚用作OUTPUT, “ TRISC = 0Xff” 用于指示MCU PORTB引脚用作INPUT。和 “PORTB = 0X00” 用来指示MCU使RB3低的所有输出。
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; //将RB3的所有输出设为低电平
按照下面的代码,每当PIR变为高电平时,蜂鸣器就会变为高电平,否则蜂鸣器将保持关闭状态。
while(1)//进入Infinie While循环{if(PIR == 1){Buzzer = 1; __delay_ms(1000); //等待} else {Buzzer = 0; }}}
在该项目的结尾给出了完整的代码和演示视频。
带PIC单片机的PIR传感器的工作方式:
该项目没有任何复杂的硬件设置,我们再次使用在LED闪烁教程中创建的同一 PIC单片机板(如下所示)。只需根据连接图将PIR传感器模块与 PIC单片机板 连接即可。连接完成后,只需按照上一教程中的说明使用PicKit 3编程器转储代码即可,并享受您的输出。
上载程序后,PIR传感器准备输出。每当发射IR的人或物体进入PIR范围时,PIR就会向输出提供HIGH。并且,基于该输出,蜂鸣器将运行。如果PIR输出为高,则蜂鸣器输入将变为高,反之亦然。
您可以使用固定在PIR模块上的两个电位计来控制感应距离和延时。要了解有关PIR传感器的更多信息,请点击链接。