|
本帖最后由 jingque 于 2023-12-20 14:16 编辑
人体传感器模块讲解:
VCC接5V或3.3V,GND接地,DOUT连接单片机引脚,单片机引脚负责读取电位变化,高电平为检测到人体的移动。
人体传感器采用的时热释电效应是指一些具有自发式极化的晶体,在温度发生变化的情况下,会导致某一方向上
产生表面极化电荷,也就是电位发生变化。红外线具有明显的热效应,所有物体都会向外辐射与本身温度相关的
红外线,人体也一样,而此红外线照射到热释电材料上以后,就会导致热释电材料产生微弱的电位变化,将此电
位变化的信号调理、放大后就能判断是否有人体移动。
人体传感器有两种触发方式:
a、个可重复触发方式:
即感应输出高电平后,延时时间段一结束,输出将目动从高电平变成低电平;
b、可重复触发方式:
即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其
输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模
块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次
活动的时间为延时时间的起始点)。
调节人体传感器感应距离与感应延时:
调节距离电位器顺时针旋转,感应距离增大(约7米),反之,感应距离减小(约3米)。
调节延时电位器顺时针旋转,感应延时加长(约300S),反之,感应延时减短(约0.5S)。
部分代码讲解:
- #define START_WIN_TEMP_VP 0x2000 //定义的组件地址
- u16 val; //用来接收读取到的值并且写入开发屏中
- sbit people_PIN = P2^2;
- P2MDOUT=0x00; //不设置推挽输出模式
- sys_delay_ms(300);//每0.3s检测一次人体传感器电平
- val=check_people();//将读到的电平存储在val变量中
- sys_write_vp(START_WIN_TEMP_VP,(u8*)&val,1); //将读取的电平写入在显示组件上
复制代码
效果演示:
检测到人体移动:
未检测到人体移动:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|