Linux驱动开发基础(SR501人体红外模块)

所学来自百问网

目录

1.模块简介

2.原理图及接线

3.设备树修改

4.驱动程序

5.应用程序

6.makefile

7.编译运行


1.模块简介

人体都有恒定的体温,一般在37度,所以会发出特定波长10uM左右的红外线,被动式红外探头就是靠探测人体发射的10uM左右的红外线而进行工作的。 人体发射的 10uM 左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。 红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。 人体红外模块是一种能够检测人或动物发射的红外线而输出电信号的传感器。广泛应用于各种自动化控制装置中。比如常见的楼道自动开关、防盗报警等。 如果有人在量程内运动,DO引脚将会输出有效信号。

市面上人体红外模块有很多,但其外形和原理都差不多,如下是一个典型的人体红外模式原理图:

实物和使用方法如下图所示,可以设置探测距离、延迟控制等:

通过跳线来设置是否可以重复触发,默认为L。其中L表示不可重复,H表示可重复。含义如下:

① 不可重复触发方式: 感应到人体并输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。

② 重复触发方式: 感应到人体后输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。 可以通过电位器实现封锁时间和检测距离的调节:

① 调节检测距离: 即有效距离的远近。调节距离电位器顺时针旋转,感应距离增大(约 7 米); 反之,感应距离减小(约 3 米)。

② 封锁时间: 感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。 此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。 调节延时电位器顺时针旋转,感应延时加长(约300S),反之,感应延时减短(约0.5S)。

2.原理图及接线

以imx6ull为例:

接线图为:

3.设备树修改

进入对应目录在根节点下添加如下代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值