人体红外传感器简明教程

article/2025/11/6 12:19:21

在这里插入图片描述

学习物联网,来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 GPIOprint("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 GPIOprint("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 GPIOprint("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] 人体红外热释电运动传感器


http://chatgpt.dhexx.cn/article/iBOw1xQI.shtml

相关文章

基于STM32F0实现人体红外传感器

​​​​​​目的 了解人体红外传感器 HC-SR501 的驱动原理和STM32F030的中断机制,通过配置 STM32F030 芯片 GPIO 相关寄存器和外部触发中断实现人体红外传感器检测人体。 原理 中断是指当CPU执行程序时,由于发生了某种随机的事件(外部或内…

Arduino Uno 使用 人体红外传感器(HC_SR051)实现 人体感应灯

“登”,亮了., 每当我游走在图书馆书架之间就会有这样的一个情景。 这次实验使用的模块是人体红外传感器(HC_SR051),配上Arduino Uno 实现人体感应灯的实现。 先看看这模块(点击查看大图) 实验效…

HC-SR501 人体红外感应模块 单片机

https://blog.csdn.net/zy19981110/article/details/89947118?ops_request_misc%257B%2522request%255Fid%2522%253A%2522161616067916780357245177%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id161616067916780357245177&biz_id0&…

HC-SR501人体红外传感器

了解人体红外传感器HC-SR501的驱动原理,通过配置STM32F030芯片GPIO相关寄存器,让人体红外传感器识别到人体时使蜂鸣器响起的基础实验。 1、HC-SR501是基于红外线HC-SR501是基于红外线技术的自动控制模块 ,采用德国原装进口LHI778 探头设计&a…

基于STM32的红外人体感应器控制LED灯的状态

文章目录 一、红外人体感应器的介绍二、利用红外人体感应器实现控制LED灯三、总结 一、红外人体感应器的介绍 产品参数 产品特点 ①全自动感应 当人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。 ②光敏控制 (可选&…

人体红外线传感器

基于Arduino的人体红外线传感器 目的: 1.红外线模组与arduino结合,利用当有人进入感应范围内则输入高电平,人离开感应范围则自动关闭高电平,输出低电平的原理,采集到人身体上的红外信号,显示于 PC 串行端口监控窗口和…

人体红外传感器HC-SR501特点及使用介绍

人体红外传感器HC-SR501特点及使用介绍 前言一、人体红外传感器外观二、示意图三、相关参数讲解1.引脚2.优点3.产品特性(根据官方参考资料) 四、适用场所范围总结 前言 本文着重介绍人体红外传感器HC-SR501(基于红外线技术的自动控制模块)的原理、功能及…

【HC-SR501人体红外传感器】

HC-SR501人体红外传感器 今天分享的是HC-SR501人体红外传感器的使用,下面我会结合stm32以及正在做的合泰HT32这两个型号的芯片进行例程讲解。 HC-SR501介绍 1、HC-SR501是基于红外线HC-SR501是基于红外线技术的自动控制模块 ,采用德国原装进口LHI778 探头…

微信小程序点击数据列表,进入列表详情页面的思路

1.在index.wxml 通过 bindtap去绑定一个事件。 对于详情页的传输数据&#xff0c;点击事件可以通过 data- 去实现&#xff0c;后面相当于是键值对&#xff0c;data-id"{{item.id}}"&#xff0c;意思是把列表的id传过去。 <view class"goods"><vi…

小程序---小程序列表项拖拽排序

一、拖拽效果图展示 首先&#xff0c;上个gif图看看效果 吐血测试了一天&#xff0c;目前还未发现bug。ps(拖拽效果仅在前端实现&#xff0c;未和后端交互) 文章代码参考小程序实现列表拖拽排序 &#xff0c;参考文章还是存在一些bug和不足&#xff0c;比如&#xff0c;样式代…

微信小程序列表页

我们在做Android开发时,几乎每个app都有几个列表,在Android中列表一般是用listview&#xff0c;后来就使用recyclerview做了,不管是小程序还是Android或者ios&#xff0c;列表都是常见的一种数据展示方式,那么在小程序中怎么实现呢&#xff1f;先使用最笨的方法做, 如图&#…

小程序列表展示

小程序列表展示 wxml代码 <view class"content"><form catchsubmit"formSuos" catchreset"formReset"><view class"group"><view class"sous"><input class"text1_3" auto-focus pl…

微信小程序信息展示列表

微信小程序信息展示列表 效果展示: 代码展示: wxml <view class"head"><view class"head_item">分类</view><view class"ring"></view><view class"head_item">价格</view> </view>…

微信小程序-列表展示、条目点击。

直接贴图&#xff1a; wx:for"{{datas}}"设置数据源&#xff1b; wx:for-item"item"设置条目名称&#xff1b; data-index{{index}}设置角标。 bindtapitemClick点击事件。 {{item.item}}显示数据 datas数据源。 条目点击 itemClick: function(e) { …

【微信小程序】-- 案例 - 本地生活(列表页面)(三十)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

微信小程序删除list指定列表项

一、删除效果展示&#xff1a; // 重要代码片段async deleteListItem(e) {const sureResult await wx.showModal({title: "提示",content: "确定要删除这项吗",});if (sureResult.confirm) {const { index } e.currentTarget.dataset;setTimeout(()>{…

【小程序从0到1】小程序常用组件一览

欢迎来到我的博客 &#x1f4d4;博主是一名大学在读本科生&#xff0c;主要学习方向是前端。 &#x1f36d;目前已经更新了【Vue】、【React–从基础到实战】、【TypeScript】等等系列专栏 &#x1f6e0;目前正在学习的是&#x1f525; R e a c t / 小程序 React/小程序 React/…

微信小程序商城系列之商品列表页(一)

微信小程序商城列表页 wxml: <view classlist><block wx:for{{dataList}} wx:keylist wx:for-item"item"><view class"list_item"><navigator urldetails?id{{item.goods_id}}><view classimg><image src"{{imghr…

微信小程序——商品列表

主页面 <view class"container"><googsList goodsClassList"{{goodsClassList}}" goodsList"{{goodsList}}" bind:leftClick"leftClick" bind:toDetails"toDetails" bind:scrolltolowerGoodsClass"scroll…

微信小程序 - 商城项目 - 列表排序

sort ( ) 排序 需要实现两个排序功能&#xff0c;价格排序和好评排序&#xff0c;且都可以正反切换 数字比较 价格排序中&#xff0c;价格为数字类型&#xff0c;属于数字的比较&#xff0c;无需转换类型 // 点击价格排序的图标handlePrice(){this.setData({priceOrder:!this…