一、模块介绍
通过热释红外可以测出20米范围内人的行动。
购买链接:
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.13.7eda723cVVKOLp&id=576264959258
热释红外传感器主要是由一种高热电系数的材料,如锆钛酸铅系陶瓷、钽酸锂、硫酸三甘钛等制成尺寸为2*1mm的探测元件。在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自身温度升高而产生的干扰。由探测元件将探测并接收到的红外辐射转变成微弱的电压信号,经装在探头内的场效应管放大后向外输出。为了提高探测器的探测灵敏度以增大探测距离,一般在探测器的前方装设一个菲涅尔透镜,该透镜用透明塑料制成,将透镜的上、下两部分各分成若干等份,制成一种具有特殊光学系统的透镜,它和放大电路相配合,可将信号放大70分贝以上,这样就可以测出20米范围内人的行动。
检测器应避开日光、汽车头灯、白炽灯直接照射,也不能对着热源(如暖气片、加热器)或空调,以避免环境温度较大的变化而造成误报;检测器安装必须牢固,避免因风吹晃动而造成误报;传感器表面不允许用手摸;光学透镜外表面要定期用湿软布或棉花擦净,避免尘土影响灵敏度。
二、原理分析
在热释红外传感器的原理图中,RE200B是热释电远红外被动式传感器,U1A、U1B是两级放大器。传感器检测到人体红外线后产生的感应信号很微弱,电路中设置了诸多旁路电容都是为了抑制干扰,避免误动作。U1C、U1D是上、下限电压比较器,平时U1A的输出电平比U1C的10脚电平低,而比U1D的13脚电平高,U1C、U1D输出皆为高电平。只有传感器感应产生的交变信号经放大达到足够电压时才能使U1C和U1D输出为低电平。TLC555CD芯片的TRIGGER脚为低电平时会输出高电平,点亮LED灯。
三、代码解读
1、初始化IO口为输入。
GPIO_Init();
2、开启IO口复用时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
3、设置IO口与中断线的映射关系。
void GPIO_EXTILineConfig();
4、初始化线上中断,设置触发条件等。
EXTI_Init();
5、配置中断分组(NVIC),并使能中断。
NVIC_Init();
6、编写中断服务函数。
EXTIx_IRQHandler();
7、清除中断标志位
EXTI_ClearITPendingBit();
四、实践操作
一、实验操作步骤:
1、将STM32F103核心板正确插接到魔法师M3/M4底板上,连接好JLink与PC机。
2、将热释红外传感器模块插到底板P5口,底板拨码S1拨向ON端。
3、编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。
二、实验现象:
1、用手挡住模块再移开,串口打印报警信息。