首页天道酬勤人体检测传感器,红外线对人体有伤害吗

人体检测传感器,红外线对人体有伤害吗

张世龙 05-12 17:50 81次浏览

了解人体红外线传感器HC-SR501的驱动原理,配置STM32F030芯片GPIO相关寄存器,实现人体红外线传感器识别人体时发出蜂鸣器的基础实验。

1、HC-SR501是基于红外的HC-SR501是基于红外技术的自动控制模块,采用进口德国的LHI778探头设计,灵敏度高,可靠性高,超低电压工作模式,各种自动感应电器设备,特别是干电池供电

2、模块为全自动感应,人进入其感应范围时输出高电平,人离开感应范围时自动延时关闭高电平,输出低电平。 传感器有两种触发方式。 可以用跳线选择。 第一种不可重复的触发方式是,当传感器输出变为高电平后,延迟一定时间结束时,输出自动从高电平变为低电平。 第二种可重复触发方式是感应输出达到高电平后,如果人体在延迟时间内在感应范围内活动,则该输出始终保持高电平,人离开后延迟从高电平变化为低电平(每当感应模块检测到人体活动时自动

3、有感应块时间(默认设置:2.5S块时间) (感应模块对每个感应输出)从高电平变为低电平)后立即设置块时间,使传感器在此时间内不接收感应信号。 该功能可同时实现“感知输出时间”和“阻塞时间”的间隔动作,可应用于间隔探测产品; 此外,还可以有效抑制负载切换过程中产生的各种噪声。 (这个时间可以设定为0点几秒-几十秒。 传感器模块通电后有1分钟左右的初始化时间,其间模块隔开间隔输出0-3次,1分钟后进入待机状态。

传感器的调节方法如下所示。

注: a )顺时针旋转调节延迟电位器,延长感应延迟时间(约300S ),相反缩短感应延迟时间(约0.5S )。 b )顺时针转动距离调节旋钮,感应距离变大(约7米),相反感应距离变小(约3米)。

8、在Sensor_human.c文件中输入传感器读管脚初始化函数

//端子初始化voidHC_Sr501_init(void ) gpio _ inittypedefgpio _ init struct; //定义结构变量exti _ inittypedefexti _ init struct; //定义外部中断结构变量nvic _ inittypedefnvic _ init struct; RCC _ ahbperiphclockcmd (RCC _ ahbperiph _ gpioa,ENABLE ); GPIO时钟gpio _ init struct.gpio _ otype=gpio _ otype _ PP; //推挽输出gpio _ init struct.gpio _ mode=gpio _ mode _ in; //将端子置于输入模式gpio _ init struct.gpio _ pin=gpio _ pin _ 0; //引脚为pa0gpio _ init struct.gpio _ pupd=gpio _ pupd _ no pull; //浮动gpio _ init struct.gpio _ speed=gpio _ speed _ level _ 3; //50MHzgpio_init(gpioa,GPIO_InitStruct ); //初始化函数sys CFG _ extilineconfig (exti _ portsourcegpioa,EXTI_PinSource0); 用作EXTI线的GPIO引脚exti _ init struct.exti _ line=exti _ line 0; //选中断线0 exti _ init struct.exti _ mode=exti _ mode _ interrupt; //中断触发exti _ init struct.exti _ trigger=exti _ trigger _ rising _ falling; //双边边缘触发器exti _ init struct.exti _ line cmd=enable; //使能中断线exti_init(exti_initstruct ); //外部中断初始化//中断nvic _ init struct.nvic _ IRQ channel=exti0_1_ irqn; //中断通道nvic _ init struct.nvic _ irqchannelpriority=2; //中断优先级nvic _ init struct.nvic _ irqchannelcmd=enable; //启用中断通道nvic _ init (nvic _ init struct ); ) 9、中断服务函数

//中断服务函数voidexti0_1_IRQHandler(void ) if ) exti _ get it status (exti _ line0) ) Exti_clearitpendingbit ) exti //蜂鸣器}else{ BUZZER_ON; //蜂鸣器打开} }} 10,在Sensor_human.h文件中输入

# ifndef _ sensor _ human _ h _ # define _ sensor _ human _ h _ # include ' STM 32 f0x.h ' void HC _ Sr 501 _ init ()

int main () { Buzzer_Init ); //蜂鸣器初始化HC_SR501_Init (; //传感器读取引线,初始化while(1) { }} 12,编译整个项目,然后访问开发板

将程序下载到开发板后,等待传感器初始化,然后当人通过传感器时,会听到开发板的蜂鸣器响。

hcsr501红外传感器原电路图,人体红外传感器的工作原理 检测人体的传感器有哪些,红外传感器