一、系统设计
本次设计的自动门控制系统内通过STM32F103单片机进行主控,通过温湿度传感器进行室内温湿度检测,检测到的温湿度数据会通过显示屏进行显示;自动门的开启、关闭、停止可以用按键、手机APP(无线模块辅助下)、刷卡(刷卡模块辅助)三种方式实现;通过光电识别开关可以进行进门出门的检测,进而实现门的自动打开;为了保证门稳定安全的运行,门在进行开关门的过程中检测到门承受压力(压力检测模块辅助)超过阈值就会控制门停止,并且这个停止时间和压力阈值都是可以使用按键进行设定的;为了防止门运动幅度过大引起门的损坏,还在门的两边设置了限位开关,当门完全完成开的开启和关闭后就会触发限位开关,此时就会控制门停止;本次设计的自动门系统是依靠电机驱动模块进行电机驱动,进而实现的门的自动控制。
STM32F103C8T6单片机最小系统包括单片机芯片本身以及时钟电路和复位电路。DHT11温湿度传感器的通信接口属于单总线,所以只需一个数据输出引脚就可以正常工作,该引脚可以作为输入输出来使用,属于半双工的通信接口。光电开关实现识别功能是通过对被探测对象的阻隔或反射发射光实现的,能够反射回光则说明检测到物体。HX711是一种24位A/D变换器,专门为高精密电子称而开发,它的内部包含差分处理电路、稳压电源、片内时钟振荡器等,大大简化了电子称的传感电路。RC522刷卡模块采用SPI接口,通过SPI总线通信实现单片机与射频识别模块的数据交互。OLED12864显示屏通过IIC总线与单片机进行通信,IIC通信需要时钟和数据两条线路实现通信。
三、软件设计
主程序流程
系统首先要进行初始化,初始化结束后开始进行RFID刷卡检测、温湿度检测、进出门检测、限位检测、压力检测、按键检测,在完成检测流程后就会将检测到的数据进行显示。判断开门按键是否按下,按下则开门;判断光电开关是否识别到人,识别到人则开门;判断手机APP是否下传开门指令,有开门指令则进行开门;判断是否刷卡,有刷卡则开门;判断是否到达限位,到达限位门停止运行;判断压力是否过大,超过阈值门停止(开门停止8S,关门停止5S)。
Keil程序运行界面
四、实物展示
五、资料内容
————————————————
版权声明:本文为CSDN博主「小常硬件」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/XCHardware/article/details/131150648