首页 > IT职业 > IT生活 > 案例分享丨红外自动感应门设计与实现详解
摘要:一文为你详解红外自动感应门设计原理与实现方案。
感应探测器探测到有人进入时,感应探测器将收集信号,生成脉冲信号,其后脉冲信号传给主控器,主控器判断后通知马达运行,同时监控马达转数,以便通知马达在一定时候加力和进入慢行运行。马达得到一定运行电流后做正向运行,将动力传给同步带,再由同步带将动力传给吊具系统使门扇开启;门扇开启后由控制器作出判断,如需关门,通知马达作反向运动,关闭门扇。

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

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


人体红外传感器初始化
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操作系统移植进项目?
项目如何对接华为云平台?
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4571/viewspace-2796440/ ,如需转载,请注明出处,否则将追究法律责任。