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

摘要:阐述基于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.mfbz.cn/a/371478.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

cesium-测量高度垂直距离

cesium做垂直测量 完整代码 <template><div id"cesiumContainer" style"height: 100vh;"></div><div id"toolbar" style"position: fixed;top:20px;left:220px;"><el-breadcrumb><el-breadcrumb-i…

WebChat——一个开源的聊天应用

Web Chat 是开源的聊天系统&#xff0c;支持一键免费部署私人Chat网页的应用程序。 开源地址&#xff1a;https://github.com/loks666/webchat 目录树 TOC &#x1f44b;&#x1f3fb; 开始使用 & 交流&#x1f6f3; 开箱即用 A 使用 Docker 部署B 使用 Docker-compose…

C++ 之LeetCode刷题记录(二十八)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 目标&#xff1a;执行用时击败90%以上使用 C 的用户。 144. 二叉树的前序遍历 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍…

JAVA Web 学习(五)Nginx、RPC、JWT

十二、反向代理服务器——Nginx 支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&#xff0c;即使运行几个月也不需要重新启动&#xff0c;还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量&#xff0c;其占用内存少、并发能力强、能支持…

docker下nacos(1.2.0)的持久化

一、创建数据库 运行以下代码自动创建数据库和表 CREATE DATABASE IF NOT EXISTS nacos_config /*!40100 DEFAULT CHARACTER SET utf8 */; USE nacos_config;SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for config_…

【LeetCode】刷题总结 - 15. 三数之和

15. 三数之和 | LeetCode 思路 首先对 nums 进行排序&#xff0c;然后设置三个指针&#xff1a;left、mid、right&#xff1a; left 从最左边开始&#xff0c;依次向后遍历每次固定住 left 后&#xff0c;就化为一个 2sum 问题&#xff1a; mid left 1&#xff0c;right …

go-redis hash slot 之旅

搭建redis 集群 创建一个网桥 docker network create -d bridge --subnet192.168.148.0/24 --gateway192.168.148.1 -o parenteno1 redis-net通过docker 文件创建redis 集群&#xff0c; 这里注意要不要使用redis 7以上的版本&#xff0c;不然会出问题 version: "3&quo…

详解spring6.0新特性汇总

spring6新特性汇总 part1 spring6.0新特性 spring6.0 2022年11月。新一代框架带jdk17&jakarta ee9 https://www.graalvm.org/ part2 AOP&事务 1.AOP:面向切面编程 通过预编译方式和运行期动态 代理实现程序功能的统一维护的一种技术。 使用场景&#xff1a; 权…

vivado 手动设置自下而上的流量并导入网表、创建较低级别的网表

手动设置自下而上的流量并导入网表 要手动运行自下而上的流&#xff0c;请将较低级别的网表或第三方网表实例化为黑色盒子&#xff0c;Vivado工具在合成完成后将黑盒子融入完整的设计中。这个以下部分描述了该过程。 重要&#xff01;Vivado合成不合成或优化加密或非加密合成…

信任与创新 | 回顾通付盾的2023!

-END- 数信云&#xff0c;基于区块链与人工智能的数据安全应用与服务平台

ReactNative实现弧形拖动条

我们直接看效果 先看下面的使用代码 <CircularSlider5step{2}min{0}max{100}radius{100}value{30}onComplete{(changeValue: number) > this.handleEmailSbp(changeValue)}onChange{(changeValue: number) > this.handleEmailDpd(changeValue)}contentContainerStyle{…

【自动化测试】----Java的单元测试工具Junit5

目录 支持Java的最低版本为8在pom.xml添加依赖Junit提供的注解功能 断言 Assertion类提供的一些方法测试用例执行顺序 &#xff08;为了预防测试用例执行顺序错误&#xff09;参数化 &#xff08;假设登陆操作&#xff0c;用户名和密码很多&#xff0c;尽可能通过一个测试用例…

springboot+vue实现excel导出

后端 导入pom依赖 <dependency>x<groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.2.0</version> </dependency> Entity实体类 这里以User为例&#xff0c;可按照自己实际…

【leetcode题解C++】450.删除二叉搜索树中的节点 and 669.修剪二叉搜索树 and 108.将有序数组转换为二叉搜索树

450. 删除二叉搜索树中的节点 给定一个二叉搜索树的根节点 root 和一个值 key&#xff0c;删除二叉搜索树中的 key 对应的节点&#xff0c;并保证二叉搜索树的性质不变。返回二叉搜索树&#xff08;有可能被更新&#xff09;的根节点的引用。 一般来说&#xff0c;删除节点可…

032-安全开发-JavaEE应用Servlet路由技术JDBCMybatis数据库生命周期

032-安全开发-JavaEE应用&Servlet路由技术&JDBC&Mybatis数据库&生命周期 #知识点&#xff1a; 1、JavaEE-HTTP-Servlet技术 2、JavaEE-数据库-JDBC&Mybatis 演示案例&#xff1a; ➢JavaEE-HTTP-Servlet&路由&周期 ➢JavaEE-数据库-JDBC&Mybat…

SDL库的下载与配置(Visual Studio )2024/2/4更新

一.SDL的下载 下载链接 二.SDL的环境配置 解压以后放在中文路径下 不会添加环境变量自行搜索&#xff08;比较简单网上教程很多&#xff09; 下面进行编译器的配置 复制这段内容 x64\SDL2main.lib x64\SDL2.lib将这段代码放进去运行一下 #include <SDL.h>int main(int…

职业性格测试在求职应聘跳槽中的应用

人的性格总是千奇百怪&#xff0c;有的人总是想迎接挑战&#xff0c;超越自己&#xff0c;不停的奔着高处走&#xff0c;然而有的人总是喜欢随遇而安&#xff0c;踏踏实实一辈子&#xff0c;有份安稳的工作&#xff0c;有吃有喝就好。那么对于哪些喜欢迎接挑战&#xff0c;但又…

算法学习——华为机考题库10(HJ64 - HJ67)

算法学习——华为机考题库10&#xff08;HJ64 - HJ70&#xff09; HJ64 MP3光标位置 描述 MP3 Player因为屏幕较小&#xff0c;显示歌曲列表的时候每屏只能显示几首歌曲&#xff0c;用户要通过上下键才能浏览所有的歌曲。为了简化处理&#xff0c;假设每屏只能显示4首歌曲&a…

挑战杯 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于python 机器视觉 的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 &#x1f9ff; 更多资…

LLaVA:GPT-4V(ision) 的新开源替代品

LLaVA&#xff1a;GPT-4V(ision) 的新开源替代品。 LLaVA &#xff08;https://llava-vl.github.io/&#xff0c;是 Large Language 和Visual A ssistant的缩写&#xff09;。它是一种很有前景的开源生成式 AI 模型&#xff0c;它复制了 OpenAI GPT-4 在与图像对话方面的一些功…
最新文章