基于单片机控制的智能门锁设计

2024-02-05 09:20

本文主要是介绍基于单片机控制的智能门锁设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:阐述基于STC15F2K60S2单片机控制的智能门锁设计,包括CPU控制单元模块、液晶显示LCD、 Wi-Fi模块,实现远程控制开门,密码开门的智能化功能。

关键词:控制技术,单片机,智能门锁,远程控制。

0引言

    「J锁是每个家庭必备的家居产品,目前大部分家庭使用的传统门锁,不仅每天记得带钥匙,还要防止外出时把钥匙弄丢了。为了更好地解决这一问题,实现家居的智能化,设计在传统机械门锁的基础上改造成智能门锁。能实现输入密码或者手机远程来控制电路工作,从而控制舵机的摆动角度,完成开关门。从而更好地体验智能科技,改变生活。

1智能门锁的功能

    本设计硬件采用了STC15F2K60S2单片机为主控芯片,LCD1602为显示芯片,以点灯blinker App作为上位机软件,用来发送信号给ESP8266Wi-Fi模块接收信号,供单片机分析、处理。以AT24C02作为密码存储芯片,依靠程序编程,可以实现以下功能:  C4 )输入正确密码开门:C2)使用手机App软件远程开关门:<3)当在键盘中输入的密码是错误时,蜂鸣器鸣叫发出报警,如果输入密码连续错误三次以上,蜂鸣器长鸣发出报警并锁定键盘:<4)用户可以随时用手机重置密码来增加密码的安全性。

2系统总体设计

    本设计主要由电源模块、CPU控制单元模块,液晶显示屏LCD1602, Wi-Fi模块、键盘模块、报警电路和密码存储芯片等部分组成,电源部分采用升压充电一体电源电路升压到5V进行供电。采用矩阵键盘来输入密码,然后将输入的密码送给单片机,单片机将输入的密码后与密码存储芯片中保存的密码进行对比,判断输入的密码是否正确,然后将信号输出给报警电路和舵机。Wi-Fi模块用于远程控 制的功能实现,用户通过点灯blinker App发送信 号给Wi-Fi模块,单片机接收用户发送的信号,进 行分析处理后将引脚的高低电平传给舵机电路,从 而控制舵机的转动角度,实现开关门。在实际使用 时需要将舵机与传统门锁连接起来,由舵机转动的 角度带动门的开关。系统总体设计的框图如图1。

3  硬件设计

硬件设计考虑到是在传统门锁的基础上改造, 尽可能利用已有的条件和材料进行设计与制作, 主要采用的硬件有以下几个模块:CPU控制单元模 块、电源电路、Wi-Fi模块、矩阵键盘、AT24C02密 码存储模块、LCD1602液晶显示屏等。
(1)电源电路。考虑智能门锁的便利性和实 用性,为了实现电路更高的集成度,电源的设计采 用充电升压一体芯片TP5400。该芯片可以对电池充 电和升压放电的作用,并可以为电路提供1A的充电 电流。电源电路的充电部分是采用了TP5400芯片的 PROG引脚与地之间连接的电阻器来设定,充电状态STDBY进行反馈充电状态,升压电路是由电感、二 极管和电容完成的,电感有储存能量的作用,将其 与芯片的输入端电源相连,共同泄放,可以实现升 压的作用。
(2)Wi-Fi模块。采用手机控制的智能门锁具 有更完善、更便利的保护机制,使用智能手机下载 App进行Wi-Fi远程控制门锁的开关,用户及授权过 的用户家人不仅可以远程开关门,还可以及时掌握 门锁的开关及上锁情况。采用blinker App发送信 号给Wi-Fi模块,Wi-Fi模块接收信号,供单片机分 析、处理后通过串口指令来控制舵机模块,从而实 现自动开关门的功能。本设计的Wi-Fi模块主要的 芯片是ESP8266芯片,该芯片具有成本较低、性能 稳定的优点,兼容3.3V与5V的单片机系统,而且内 置TCP/IP协议栈,可以实现电路中串口与Wi-Fi之 间的转换。
(3)矩阵键盘模块。智能门锁依靠的是键盘 输入密码,密码键从“0”~“9”,还有确认与取 消等其他功能键,需要键盘的按键数量较多。而矩 阵键盘由行线和列线组成,每个按键连接在行线与 列线在交叉处,行线一端接按键的触点,一端接到 单片机的P1口低位。列线的一端接按键的另一个触 点,一端接到单片机P1口高位。这样可以接四条行 线,四条列线。那么单片机的一个端口可以构成16 个按键的矩阵键盘,通过程序对键盘的按键功能进 行设计。
(4)密码存储芯片。本设计采用的是AT24C02 芯片作为密码存储芯片,该芯片是低功耗CMOS型 EEPROM,可存储密码100年,也可以重写擦写密 码,擦写次数高达10000次,体积小,性能稳定, 断电后还能保存密码等特点。
(5)显示部分。为了使智能门锁密码显示效 果好,方便操作,采用的是液晶显示屏LCD1602代 替八段数码管。这种液晶显示屏可以显示字母、 数字、符号等等,还能够同时显示32个字符, LCD1602总共有16个管脚,其中RS、R/W、E这三个 管脚是单片机编程显示器初始化、写命令、写数据 比较重要的管脚。实现的显示任务是智能门锁上电 后,显示屏显示“welcome”进行初始化。在键盘 中每按一个键盘输入密码时,显示屏显示相应的数 字、字母或者符号,密码输入完成后,按下#号键 进行确认。然后单片机对输入的密码与存储的密码 进行对比,当输入密码正确时,单片机的P2.0口输 出低电平,三极管Q1导通,继电器吸合,门锁电路 打开。单片机的P2.1口连接了一个蜂鸣器,当输入 密码错误时单片机的P2.0口输出高电平,门锁电路 断开,P2.1口输出低电平,蜂鸣器响发出报警。当 密码输入连续错误三次,蜂鸣器长鸣发出报警
(6)CPU控制单元模块。CPU控制单元是智能 门锁的核心控制单元,采用STC15F2K60S2芯片作 为控制芯片。因该芯片是内部起振,不需要外接晶 振,加上两个电容就形成一个单片机最小系统。整 体的电路原理图设计如图2所示。

4  软件设计

根据硬件模块电路分析,采用Proteus仿真软 件绘制智能门锁整体的电路原理图,按照门锁的功 能要求,采用C语言编写程序,利用模块化调试的 方式,将编写完成的程序编译通过后,导入仿真软 件进行程序的调试。仿真调试成功后,下载到芯片 中,进行硬件调试。

5  结语

随着科技的进步,门锁的发展也越来越智能 化。在传统锁的基础上,加了Wi-Fi和键盘来控 制门锁的开启,大大地提高了锁的便利性。采用  STC15F2K60S2单片机作为主控芯片,采用C语言的 编写程序并结合外围的键盘输入、显示、报警、开 锁等电路设计的一款智能门锁,可应用于住宅、办 公室等场所,本设计还具有使用手机远程开关门, 按键输入密码,输入密码错误报警,修改密码等多 种功能,实用性比较强,有广泛的市场前景。

这篇关于基于单片机控制的智能门锁设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680464

相关文章

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构