news 2026/2/3 3:50:48

基于51单片机开发的人体感应自动门设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于51单片机开发的人体感应自动门设计

文章目录

  • 一、目的和意义
  • 二、项目内容和功能介绍
  • 三、效果图
  • 四 、资料获取

一、目的和意义

基于51单片机开发的人体感应自动门设计介绍
一、系统核心功能
人体感应与自动开关门
热释电红外传感器(如HC-SR501)检测人体辐射的红外信号,将信号传递给51单片机(如STC89C52)。
单片机解析信号后,控制步进电机(如28BYJ-48)正转开门、反转关门,电机驱动模块(如ULN2003)增强驱动能力。
LED指示灯模拟开关门状态:开门时LED从中间向两侧点亮,关门时反向熄灭,直观展示门体运动。
多种控制模式
自动模式:传感器检测到人体后,门自动打开并保持5秒,若无人通过则自动关闭;关门过程中若检测到人体,立即停止并重新开门。
手动模式:通过独立按键实现强制开门或关门,适用于紧急情况或传感器故障时备用。
红外遥控功能:集成红外接收头(如VS1838B),支持通过遥控器远程控制门的开关,提升操作便捷性。
安全防护机制
防夹设计:关门过程中若传感器持续检测到人体,门体停止运动并重新打开,避免夹伤。
状态指示:通过LED灯区分自动/手动模式(如绿灯表示自动模式,红灯表示手动模式),并显示当前门状态(开/关)。
环境感知扩展(可选)
集成DS18B20温度传感器,实时监测环境温度并通过LCD1602显示屏显示,为后续环境调控(如联动空调)提供数据支持。
二、硬件组成与工作原理
主控模块
单片机:STC89C52作为核心控制器,负责传感器信号处理、电机控制逻辑及模式切换。
时钟电路:12MHz晶振提供稳定时钟信号,确保系统实时性。
复位电路:手动复位按钮保障系统可靠启动。
传感器模块
人体红外传感器:检测范围5-7米,输出高低电平信号,触发单片机中断。
温度传感器(可选):DS18B20通过单总线协议与单片机通信,测量范围-55℃~+125℃。
执行机构
步进电机:5线4相结构,通过ULN2003驱动芯片控制旋转方向及步数,实现门体平稳开关。
电机限位:软件限位(通过步数计数)或硬件限位开关(如微动开关)防止电机过转。
显示与交互模块
LCD1602显示屏:显示欢迎信息、实时温度及门状态(如“Welcome”“Open the Door”)。
独立按键:4个按键分别对应自动模式、手动开门、手动关门及模式切换。
LED指示灯:4颗LED分别指示模式及门状态,增强用户交互直观性。
电源模块
5V直流供电:通过LM7805稳压芯片将输入电压转换为稳定5V,为单片机及外设供电。
三、软件设计与实现
主程序流程
初始化:配置单片机I/O口、定时器、中断及LCD显示屏。
模式判断:通过按键扫描切换自动/手动模式,更新LED指示灯状态。
传感器检测:循环读取人体红外传感器信号,触发开门逻辑。
电机控制:根据模式及传感器状态调用步进电机正转/反转函数,实现开关门动作。
显示更新:实时刷新LCD显示屏内容,包括温度、门状态及欢迎信息。
关键子程序
步进电机驱动:通过查表法控制电机步进顺序,实现正转(开门)及反转(关门)。
红外遥控解码:解析红外接收头输出的32位数据,匹配预设指令(如开门码0xFF30CF)执行对应操作。
延时函数:利用定时器中断实现精确延时(如500ms),避免阻塞主程序。
中断服务程序
外部中断0:响应人体红外传感器信号,触发开门流程。
定时器中断:用于红外遥控信号解码及延时计时。
四、创新点与优势
多功能集成
融合人体感应、手动控制、红外遥控及环境感知功能,满足多样化使用场景需求。
安全可靠
防夹设计、状态指示及手动备用模式确保系统安全性,避免意外伤害。
低成本与易实现
采用51单片机及通用传感器,硬件成本低;软件逻辑清晰,适合初学者学习与实践。
扩展性强
预留I/O口及通信接口,支持添加烟雾报警、语音提示或Wi-Fi模块,实现智能化升级。

二、项目内容和功能介绍

设计简介
本设计是基于51单片机开发的人体感应自动门实物设计,具体功能如下:
1.通过人体感应模块检测是否有人。
2.检测到有人,电机正转,同时LED会从中间往两边亮,直至所有LED全亮并且电机不正转,表明门已经完全打开。
3.在30~60秒内,如持续没能检测到人体,系统则自动进入关门状态,电机开始反转,LED从两边往中间开始灭。
本设计以STC89C52单片机为核心控制器,加上其他的模块一起组成自动门控制系统,其中包含中控部分、输入部分和输出部分。中控部分采用了STC89C52单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。
输入由两部分组成,第一部分是人体在位检测模块,通过该模块可探测检查区域是否有人体存在;第二部分是供电电路,给整个系统进行供电。
输出由两部分组成,第一部分是LED显示电路, 通过该模块可以显示当前自动们的开合状态;第二部分是步进电机电路,当有人体靠近检测区域时,ULA2003A芯片驱动步进电机顺时针旋转模拟开门,人体离开后5秒电机逆时针旋转模拟关门,若在关门过程检测到人体会停止关门动作继续开门。

三、效果图


四 、资料获取

文章下方名片联系博主即可~

精彩专栏推荐订阅:在下方专栏👇🏻

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/8 15:30:43

年末如何挑选手机?性能与影像成关键考量

年末购物季来临之际,消费者挑选一款中意手机时,常常面对众多眼花缭乱的选项。当下手机市场展现出技术多元、功能垂直之特性,不同产品线针对特定用户需求做了深度优化。进行选择时,全面综合考量性能、影像、显示、续航以及创新交互…

作者头像 李华
网站建设 2026/1/31 2:48:14

解决wslregisterdistribution failed错误的新方法:使用预构建镜像

解决 wslregisterdistribution failed 错误的新方法:使用预构建镜像 在深度学习项目开发中,一个稳定、即用的环境往往比模型本身更早成为“拦路虎”。尤其是在 Windows 平台上使用 WSL(Windows Subsystem for Linux)部署 PyTorch …

作者头像 李华
网站建设 2026/1/30 13:58:51

Jupyter Notebook保存检查点功能在PyTorch训练中的应用

Jupyter Notebook保存检查点功能在PyTorch训练中的应用 在深度学习项目中,最令人沮丧的场景莫过于:模型已经训练了十几个小时,结果因为一次意外断电、内核崩溃或不小心关掉了浏览器标签页,所有进度瞬间归零。这种“从头再来”的代…

作者头像 李华
网站建设 2026/2/3 3:48:20

【CMake】`add_subdirectory()` 命令详解

add_subdirectory() 是 CMake 中用于组织大型项目、模块化构建的核心命令,它允许将项目分解为多个子目录,每个子目录有自己的 CMakeLists.txt 文件。 基本语法 add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])参数详解 必需参数 source_d…

作者头像 李华