基于单片机设计的自动门控制系统

这篇具有很好参考价值的文章主要介绍了基于单片机设计的自动门控制系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、项目介绍

随着科技的不断发展,自动门成为公共场所、商业建筑和住宅社区等地的常见设施。自动门的出现使得进出门的操作更加便捷,提高了人们的生活质量和工作效率。为了实现自动门的开关控制,本项目基于单片机设计了一套自动门控制系统。

本项目的主控芯片选择了STC89C52,这是一款性能稳定且广泛应用于嵌入式系统的单片机。具有较高的计算能力和丰富的外设接口,非常适合用于本项目中的自动门控制。

自动门的开关控制通过红外热释电传感器实现。红外热释电传感器是一种能够检测人体红外辐射的传感器,当有人靠近时,传感器会感知到人体的存在。本项目中,红外热释电传感器被安装在自动门的控制区域,用于检测人体的接近。

为了实现自动门的开关动作,本项目采用了SG90舵机进行控制。SG90舵机是一种小型直流电机,具有较高的转动精度和响应速度。通过模拟控制方式,根据控制信号的脉冲宽度来控制门的开关状态。

在系统运行时,红外热释电传感器不断检测周围的人体活动。当传感器检测到人体接近时,会向主控芯片发送信号。主控芯片接收到信号后,会控制SG90舵机执行开门动作,使门自动打开。当人体离开控制区域时,传感器再次发送信号,主控芯片控制舵机执行关门动作,实现自动门的关闭。

自动门控制系统具有以下优点:

(1)通过红外热释电传感器实现人体接近检测,无需人工干预,使门的开关更加智能化。

(2)采用SG90舵机进行控制,具有较高的转动精度和响应速度,门的开关动作更加准确和迅速。

(3)通过使用STC89C52主控芯片,系统具有良好的扩展性和可靠性,可以方便地进行功能扩展和故障排除。

自动门控制系统可以广泛应用于各种场所,如商场、酒店、医院、办公楼、住宅小区等,为人们提供便捷、安全的出入门体验,提高生活和工作的效率。

自行开发一款带自动控制的产品,离不开单片机或dsp,功能不限请详述不少于800,STM32单片机开发基础,单片机,嵌入式硬件

自行开发一款带自动控制的产品,离不开单片机或dsp,功能不限请详述不少于800,STM32单片机开发基础,单片机,嵌入式硬件

自行开发一款带自动控制的产品,离不开单片机或dsp,功能不限请详述不少于800,STM32单片机开发基础,单片机,嵌入式硬件

自行开发一款带自动控制的产品,离不开单片机或dsp,功能不限请详述不少于800,STM32单片机开发基础,单片机,嵌入式硬件

二、设计思路

硬件选型:

(1)主控芯片:STC89C52是一款常用的8位单片机,具有丰富的外设资源和较大的存储空间,适合用作自动门控制系统的主控芯片。

(2)红外热释电传感器:红外热释电传感器可以检测到人体的红外辐射,用于感知人体接近门的情况。常用的红外热释电传感器模块包括HC-SR501等。

(3)舵机:SG90舵机是一种小型伺服舵机,适合用于控制门的开关动作。可以按照指定的角度精确控制转动。

软件设计思路:

(1)引脚连接:将红外热释电传感器的输出引脚连接到STC89C52的一个GPIO口,将舵机的控制引脚连接到另一个GPIO口。

(2)初始化设置:在程序开始时,初始化GPIO口的方向和状态设置。

(3)检测人体接近:通过读取红外热释电传感器的输出状态,判断是否有人体接近门。如果有人体接近,则执行下一步开门操作;否则执行关闭门操作。

(4)开门动作:控制舵机旋转至开门角度,使门打开。

(5)关闭门动作:控制舵机旋转至关闭门角度,使门关闭。

(6)延时处理:为了避免舵机转动过快或过慢,可以增加适当的延时操作。

(7)循环检测:通过循环结构,不断检测人体接近状态,实现自动门的开关控制。

三、核心代码

3.1 基础框架

#include <reg52.h>

sbit infraredSensor = P1^0;  // 红外热释电传感器连接的引脚
sbit servoMotor = P2^0;      // SG90舵机连接的引脚

void delay(unsigned int ms) {
    unsigned int i, j;
    for (i = ms; i > 0; i--)
        for (j = 112; j > 0; j--);
}

void servoRotate(unsigned int angle) {
    unsigned int i;
    for (i = 0; i < angle; i++) {
        servoMotor = 1;   // 产生脉冲信号
        delay(1);         // 控制脉冲宽度,控制舵机转动角度
        servoMotor = 0;
        delay(19);
    }
}

void main() {
    while (1) {
        if (infraredSensor == 1) {   // 检测到人体接近
            servoRotate(90);        // 打开门,舵机转动90度
            delay(2000);            // 延时2秒,保持门开启状态
            servoRotate(0);         // 关闭门,舵机转动至初始位置
        }
    }
}

代码框架中,使用了reg52.h头文件来定义了单片机的寄存器和引脚。红外热释电传感器连接到P1口的第0位引脚,SG90舵机连接到P2口的第0位引脚。

主函数中使用了一个无限循环,不断检测红外热释电传感器的状态。当检测到有人接近时,调用servoRotate函数控制舵机打开门(转动角度为90度),然后延时2秒,保持门开启状态。最后,再次调用servoRotate函数将舵机转动至初始位置,关闭门。

3.2 优化版

增加防夹功能,预防小孩子、小动物 误开门设计。

要增加防夹功能以防止小孩子、小动物误开门,可以通过阻挡传感器来实现。当前的改进方案用于检测门是否被阻挡,如果有阻挡则停止或反向门的运动。

#include <reg52.h>

sbit infraredSensor = P1^0;      // 红外热释电传感器连接的引脚
sbit obstructionSensor = P1^1;   // 阻挡传感器连接的引脚
sbit servoMotor = P2^0;          // SG90舵机连接的引脚

void delay(unsigned int ms) {
    unsigned int i, j;
    for (i = ms; i > 0; i--)
        for (j = 112; j > 0; j--);
}

void servoRotate(unsigned int angle) {
    unsigned int i;
    for (i = 0; i < angle; i++) {
        servoMotor = 1;   // 产生脉冲信号
        delay(1);         // 控制脉冲宽度,控制舵机转动角度
        servoMotor = 0;
        delay(19);
    }
}

void main() {
    while (1) {
        if (infraredSensor == 1) {   // 检测到人体接近
            if (obstructionSensor == 0) {   // 检测到门被阻挡
                // 停止或反向门的运动
                // 可以在此处添加相应的代码来停止或反向门的运动
                // 例如,可以调用servoRotate(0)来立即关闭门
            } else {
                servoRotate(90);        // 打开门,舵机转动90度
                delay(2000);            // 延时2秒,保持门开启状态
                servoRotate(0);         // 关闭门,舵机转动至初始位置
            }
        }
    }
}

在代码改进中,添加了一个名为obstructionSensor的阻挡传感器,连接到P1口的第1位引脚。该传感器用于检测门是否被阻挡。在检测到人体接近的同时,检测阻挡传感器的状态。如果阻挡传感器检测到门被阻挡,可以根据需求添加相应的代码来停止或反向门的运动,例如调用servoRotate(0)来立即关闭门。文章来源地址https://www.toymoban.com/news/detail-787654.html

到了这里,关于基于单片机设计的自动门控制系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于单片机智能自动浇花系统设计

    ** 单片机设计介绍,基于单片机智能自动浇花系统设计   基于单片机的智能自动浇花系统是一种可以自动感知周围环境,并执行相应动作的系统。通过使用传感器检测土壤湿度和气温等指标,当土壤干燥或气温过高时,系统会自动打开水泵,并通过水管将水流到花盆中来进

    2024年02月04日
    浏览(38)
  • 基于单片机的自动停车收费系统的设计

    欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式   本课题对自动停车收费系统进行研究,介绍了基于STM32F103C6T6单片机的一种停车场的自动停车收费系统的设计。该基于STM32F103C6T6单片机完成的自动

    2024年01月17日
    浏览(38)
  • 【单片机毕业设计】【mcuclub-dz-177】基于32单片机的自动扶梯控制系统设计

    项目名:基于32单片机的自动扶梯控制系统设计 项目名:扶梯(实物) 项目编号:mcuclub-dz-177 单片机类型:STM32F103C8T6 具体功能: 1、通过MX1508驱动两个直流电机模拟上下扶梯(一个正转代表上行,一个反转代表下行) 2、每个扶梯都有两个红外对射管,进行人数计数,如果扶

    2024年02月21日
    浏览(69)
  • 单片机实验——水塔自动抽水系统设计(基于Proteus仿真)

    自来水供水是现代生活的一大特点,水塔作为储水装置是自来水系统必不可少的重要设施,让水塔保持一定的水量是自来水不断供的必要条件,本设计模拟自来水系统中水塔的自动抽水机制,设计分为控制系统和虚拟水塔两部分,参考电路如下: 虚拟水塔模拟水塔的功能,水

    2024年02月05日
    浏览(32)
  • 0088-基于单片机的全自动洗衣机仿真设计

    1、采用51/52单片机作为主控芯片; 2、支持四种洗衣(流程)模式:      标准模式:进水-洗涤-排水--进水-漂洗1-排水--进水-漂洗2-排水--脱水;      经济模式:进水-洗涤-排水--进水-漂洗-排水--脱水;      单独洗涤:进水-洗涤-排水;      单独脱水:排水-脱水; 3、支持两

    2024年01月21日
    浏览(50)
  • 仿真设计|基于单片机的全自动洗衣机模拟系统

    目录 具体实现功能 设计介绍 51单片机简介 设计思路 设计内容 程序(Keil5) 仿真实现(protues8.7) 全部资料 模拟全自动洗衣机工作过程,以电机替代洗衣机电机。 可以显示洗衣机工作的状态(进水、浸泡、洗衣、脱水、结束)。显示工作剩余时间(洗衣程序可自定义,时间

    2024年03月13日
    浏览(62)
  • 【C51】基于51单片机的自动输液监控系统设计与实现

      随着科技进步,我国的医疗设施不断完善,逐渐达到现代化水平。在当今的医疗环境下,病患更关心自己是否能够及时进行有效的治疗,医护人员对患者进行输液过程的全程监控。医生治疗的效果明显提高,不仅节约大量的时间,同时能够接受大量需要治疗的患者。自动输

    2024年02月04日
    浏览(45)
  • 35、基于51单片机自动灭火避障智能小车 消防灭火小车系统设计

    智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车就是其中的一个体现,本次设计的多功能智能灭火避障小车, 以 STC89C 52单片机作为微控制器,设计出一种 可以寻

    2024年02月03日
    浏览(52)
  • 毕业设计 基于单片机的室内温湿度自动控制系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月06日
    浏览(57)
  • 16、基于51单片机智能浇花自动浇水灌溉土壤湿度检测报警系统设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图   五、PCB图 六、Proteus仿真 七、程序源码 八、资料包括 本次盆栽植物自动浇灌系统,系统是用AT89C51单片机作为控制中心,使用YL-69作为土壤湿度传感模块,LC

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包