人体红外传感器简明教程

Posted HaaS技术社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人体红外传感器简明教程相关的知识,希望对你有一定的参考价值。

学习物联网,来HaaSEDU就对了

人体红外热释电运动传感器

一、产品简介

热释电红外运动传感器能检测运动的人或动物身上发出的红外线,输出开关信号,可以应用于各种需要检测运动人体的场合。传统的热释电红外传感器需要人体热释电红外探头、专用芯片和复杂的外围电路来实现,体积略大,电路复杂,可靠性略低。这款红外热释电运动传感器采用数字一体化集成人体热释电红外探头,具有体积小、可靠性高、功耗低、外围电路简单等特点。


人体红外释热电运动传感器是数字接口类型,一根DATA就可以完成数据的传输;采用PH2.0接口封装,尺寸是30mm*22mm。


二、技术参数

  • 输入电压:3.3~5V,最大6V
  • 工作电流:15uA
  • 工作温度:-20~85℃
  • 输出电压:高电平3V,低电平0V
  • 输出延迟时间(高电平):2.3~3秒左右
  • 感应角度:100°
  • 感应距离:7米
  • 输出指示灯:高电平点亮
  • 输出引脚极限电流:100mA
  • 连线接口:PH2.0-3

三、软件接口


软件接口基于HaaS Python标准固件

ESP32固件

IR(adcObj) - 创建人体红外对象


  • 函数原型

irObj = IR(gpioObj)

  • 参数说明
参数类型必选参数?说明
gpioObjGPIO调用此函数前需确保gpioObj对象已经处于open状态
  • 返回值

IR对象成功,返回IR对象;IR对象创建失败,抛出Exception

  • 示例代码
import ir
from driver import GPIO

print("Testing IR detector ...")

gpioDev = GPIO()
gpioDev.open("ir")

irDev = ir.IR(gpioDev)
  • 输出
Testing IR detector ...

irDetect() - 获取人体红外传感器的状态


  • 函数功能:

获取人体红外传感器的状态

  • 函数原型:

IR.irDetect()

  • 参数说明:

  • 返回值:

成功返回IR热体红外状态,0 - 无人 1 - 有人;失败抛出Exception

  • 示例:
import ir
from driver import GPIO

print("Testing IR detector ...")

gpioDev = GPIO()
gpioDev.open("ir")

irDev = ir.IR(gpioDev)

value = irDev.irDetect()
print("The ir status ",value)
  • 输出
Testing IR detector ...
The ir status 1

四、接口案例

此使用实例在board.json中定义了名为IR的GPIO类型的对象。在Python脚本中执行一次获取IR人体红外传感器状态值并打印在日志中。

  • 案例代码

  "name": "board-name",
  "version": "1.0.0",
  "io": 
    "ir": 
      "type": "GPIO",
      "port": 2,
      "dir": "input",
      "pull": "pullup"
    
  

import ir
from driver import GPIO

print("Testing IR detector ...")

gpioDev = GPIO()
gpioDev.open("ir")

irDev = ir.IR(gpioDev)

value = irDev.irDetect()
print("The ir status ",value)
  • 输出
Testing IR detector ...
The ir status 1

五、工作原理

1、探头概述


这款热释电红外运动传感器采用数字一体化集成人体热释电红外探头AM412。AM412是一个将数字智能控制电路与人体探测敏感元都集成在电磁屏蔽罩内的热释电红外探头。人体探测敏感元将感应到的人体移动信号通过一个甚高阻抗差分输入电路耦合到数字智能集成电路芯片上,数字智能集成电路将信号转化成15位ADC数字信号,当PIR信号超过选定的数字阀值时就会有延时的高电平输出。所有的信号处理都在一个芯片上完成。


2、触发模式

在检测范围内,当探头接收到的热释电红外信号超过探头内部的触发阈值之后,内部会产生一个计数脉冲。当探头再次接收到这样的信号,它会认为是接收到了第二个脉冲,一旦在4秒钟之内接收到2个脉冲以后,探头就会产生报警信号,同时输出引脚输出高电平。另外,只要接收到的信号幅值超过触发阈值的5倍以上,那么只需要一个脉冲就能触发输出端的高电平输出。下图为触发逻辑图示例。对于多次触发情况,输出高电平的维持时间从最后一次有效脉冲开始计时。


3、调整延迟

本款红外热释电运动传感器默认的高电平延时时间为2.3~3秒左右,取AM412最短的延迟时间,但保留了修改延迟时间的设计。如示意图所示:在右下角,修改R2电阻的阻值即可修改延迟时间。默认R1=1M欧姆,R2=0欧姆。具体的电阻值可参考下图,电阻封装为0603。


4、电气特性


参考文献

[1] 人体红外热释电运动传感器

以上是关于人体红外传感器简明教程的主要内容,如果未能解决你的问题,请参考以下文章

本篇更完ESP 保姆级教程 疯狂传感器篇 —— 案例:ESP8266 + 人体红外热释电模块(HC-SR501) + 串口输出

感应灯的原理是啥?

树莓派连接人体红外感应模块HC-SR501

光敏,红外,人体红外检测模块的模拟输出(ADC)实验——入门

热释红外传感器

HC-SR501红外人体传感模块封锁时间调整