STM32智能家居扩展板-人体红外传感器实验
📝实验简介
本次实验基于STM32L431VC主控芯片搭配智能家居扩展板,使用HC-SR501人体红外(PIR热释电)传感器检测人体移动。STM32读取GPIO电平,判断感应区域内是否有人活动,完成状态采集、LCD屏幕显示、串口打印输出。掌握GPIO输入读取、传感器模块驱动、信号采集流程,理解物联网底层传感采集逻辑。
开发平台:Keil MDK-ARM
主控芯片:STM32L431VC
硬件:STM32主板 + 智能家居扩展板 + HC-SR501人体红外传感器
通信方式:GPIO数字信号输入
🎯实验目标
理解热释电人体红外传感器工作原理,掌握HC-SR501模块特性。
学会STM32 GPIO输入配置,读取传感器输出电平信号。
实现人体检测:检测到人体活动,LCD显示“有人”,串口打印提示;无人则显示“无人”。
了解物联网南向硬件采集思想:传感器属于底层硬件,采集的数据向上供给上层应用。
🔍实验原理
HC-SR501是被动热释电红外传感器,人体会向外辐射红外光线。菲涅尔透镜收集红外信号,模块内部电路处理后输出数字电平:检测到人体移动输出高电平,无人体活动输出低电平。
⚠注意:只能检测移动的人体,人静止不动时传感器不会触发。
STM32通过GPIO引脚读取电平,获取传感器状态,再送到LCD与串口输出。
🔌硬件接线
- VCC → 3.3V/5V
- GND → GND
- OUT → STM32 GPIO输入引脚
💻核心代码片段(C语言)
//读取人体红外传感器电平
uint8_t PIR_Read(void)
{
return HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
}
while(1)
{
if(PIR_Read() == GPIO_PIN_SET)
{
LCD_ShowString(10,20,“Detect People”);
printf(“检测到人体活动!\r\n”);
}
else
{
LCD_ShowString(10,20,“No People”);
printf(“区域无人\r\n”);
}
HAL_Delay(500);
}
🧪实验现象
上电等待模块预热稳定。当手或者人进入传感器探测范围,模块输出高电平,LCD屏幕显示检测到人,串口打印提示;人离开探测区域,一段时间后自动变回无人状态。
📚知识拓展(贴合ICT鸿蒙考点,博客加分项)
这个传感器属于南向硬件。南向负责硬件驱动、采集底层传感器数据;采集到人体存在数据后,向上层(北向)应用提供数据接口。
在鸿蒙体系中,类似人体红外这类传感器,通过HDF硬件驱动框架封装能力,北向应用可以直接调用API读取人体感应状态,用来做智能家居自动灯光、安防报警。完美对应鸿蒙四层架构,内核层、驱动处理硬件,上层应用处理业务逻辑。
✍️实验总结
本次实验掌握了数字传感器的采集思路,理解热释电红外检测原理。传感器作为物联网感知终端,是万物互联的基础。南向开发负责驱动硬件采集原始数据,北向应用基于数据实现智能业务。智能家居场景中,人体红外传感器可用于自动照明、安防入侵检测,是物联网项目里非常常用的感知模块。
更多推荐




所有评论(0)