红外线传感器工作原理
红外线传感器分为主动型和被动型。主动型红外线传感器由发射和接收两部分组成,发射管发射出一定频率的红外线,当检测方向遇到障碍物时,红外线反射回来被接收管接收,有障碍时绿灯亮起,输出为低电平,反之为高电平。被动型红外线传感器靠探测人体发射的10μM左右的红外线而进行工作,人体发射的10μM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上,红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。
模块的选择
- HC-SR505人体感应模块
- STM32F072RBT6
连接方式
HC-SR505模块的工作电压范围:DC4.5-20V( 电压正极要选择5V,不能选3V3)
-
电源正极接开发板CN7的18号引脚
-
电源负极接开发板CN7的20号引脚
-
输入接开发板CN7的2号引脚即STM32F072RBT6模块的PC11
STM32CubeMX5.3.0中输入输出等的配置
Keil5中选用的设备及主函数中代码
先判断高低电平,然后选择一个led灯作为输出,当输出高电平时点亮灯,当输出低电平时则熄灭灯。
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_11))
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
}
else
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
}
测试结果
- 没有障碍时,LED亮
- 有障碍时,LED灭