华为云开发者社区

华为云开发者社区

主要内容

  • 项目场景说明
  • 人体红外传感器介绍
  • 项目实现

一、项目场景

感应探测器探测到有人进入时,感应探测器将收集信号,生成脉冲信号,其后脉冲信号传给主控器,主控器判断后通知马达运行,同时监控马达转数,以便通知马达在一定时候加力和进入慢行运行。马达得到一定运行电流后做正向运行,将动力传给同步带,再由同步带将动力传给吊具系统使门扇开启;门扇开启后由控制器作出判断,如需关门,通知马达作反向运动,关闭门扇。

案例分享丨红外自动感应门设计与实现详解-LMLPHP

二、任务目标

自动门窗生产企业要设计一款自动感应门,要求使用SMT32处理器采集AS312红外热释电传感器的信号,使得感应探测器探测到有人进入时,实现自动开启及关闭。

三、人体红外传感器介绍

  • 红外线传感器是利用红外线的物理性质来进行测量的传感器。
  • 红外线又称红外光,它具有反射、折射、散射、干涉、吸收等性质。任何物质,只要它本身具有一定的温度(高于绝对零度),都能辐射红外线。
  • 红外线传感器测量时不与被测物体直接接触,因而不存在摩擦,并且有灵敏度高,反应快等优点。
  • 人体红外传感器检测到有人体活动时, 其输出的I/O值发生变化。当传感器模块检测到有人入侵时,会返回一个高电平信号,无人入侵时,返回一个低电平信号,通过读取I/O口的状态判断是否有人体活动。
  • AS312系列产品是将数字智能控制电路与人体探测敏感元都集成在电磁屏蔽罩内的热释电红外传感器。
  • 人体探测敏感元将感应到的人体移动信号通过甚高阻抗差分输入电路耦合到数字智能集成电路芯片上,数字智能集成电路将信号转化成15位ADC数字信号,当PIR信号 超过选定的数字阀值时就会有LED动态输出以及具有定时时间的REL电平输出。

案例分享丨红外自动感应门设计与实现详解-LMLPHP

四、项目分析

本项目设计硬件结构主要由STM32处理器、人体红外传感器,串口和LCD屏幕组成。

案例分享丨红外自动感应门设计与实现详解-LMLPHP

五、项目程序逻辑框图

案例分享丨红外自动感应门设计与实现详解-LMLPHP

六、项目实现

人体红外传感器初始化

void infrared_init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;                  //定义一个GPIO_InitTypeDef类型的结构体
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); //开启人体红外相关的GPIO外设时钟
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;             //选择要控制的GPIO引脚
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;        //设置引脚的输出类型为推挽
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;          //设置引脚模式为输入模式
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;        //设置引脚为下拉模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;      //设置引脚速率为2MHz
    GPIO_Init(GPIOB, &GPIO_InitStructure);                //初始化GPIO配置
}
获取人体红外传感器状态
unsigned char get_infrared_status(void)
{
    if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_8)) //判断人体红外引脚状态
        return 1;
    else
        return 0;
}

七、项目思考

人体红外传感器在检测中的注意事项?

如何将LiteOS操作系统移植进项目?

项目如何对接华为云平台?

点击关注,第一时间了解华为云新鲜技术~

09-03 16:44