基于STM32智能电子锁设计

1.简介

  随着时代的高速发展,家居安全也成为人们日常生活中的一个安全问题。目前传统的门锁使用的是机械密码,在安全性方面表现不佳。这些缺点可以通过改用智能电子密码锁来弥补。智能电子锁是一种使用了现代电子技术的高科技产品,它的出现解决了人们对于安全问题的困扰。与传统的门锁不同,它使用了更多现代的识别技术,以满足用户使用的多样性和安全性,同时操作起来简单又方便,为了更好地推广智能电子锁在各领域中的应用,在此根据任务要求设计了一种基于 STM32F103ZET6 单片机控制的智能电子密码锁。
  单片机最小系统、液晶显示电路、触摸模块、矩阵式键盘、指纹模块、SD 卡插槽模块、蜂鸣器模块、电源模块等模块构成智能电子密码锁。STM32F103ZET6 微控制器、电阻器和晶体元件构成了最小的微控制器系统。本设计的核心组件是一个名为STM32F103ZET6 的微控制器。基于该系统详细的研究和设计了智能电子锁的控制装置及其工作原理、设计思想的硬件电路,用 C 语言为单片机设计了系统软件,并用NT35310 驱动的 LCD 屏显示,实现支持正常的信息录入、删除、修改、识别、失败锁死等功能;基于 STM32 单片机和 LCD 屏实现的智能电子密码锁能够实现良好的显示效果和控制效果,并具有较高的可靠性和稳定性。

2.研究背景及意义

   随着电子技术的高速发展,物联网技术逐渐走入人们日常生活,传统机械锁已不再满足人们的日常应用,电子智能锁由此应运而生。
   电子密码锁就是一种通过单片机控制,然后使用密码来控制电路来实现开关锁的功能。单片机具有超大规模集成电路技术,有极强的数据处理能力,I/O 口多。从功能上看,密码锁支持检测多次输入密码,来达到安全报警的功能。现在很多场所甚至家里的各个家用电器,还有保险箱都需要它。
   以前开发的电子锁控制系统,采用的是最简单的模拟电子电路去实现的。由于电子器件种类少而且简单,设计出来的电子锁安全性不是很高。后面设计的智能电子锁,在电路上更加复杂了,使用的电子元件也是多种多样,还配置了许多开锁方式,比如指纹、IC 卡、密码、APP 等多种开锁方式,具有很强的社会推广价值目前的智能电子锁已经慢慢的走入了我们的生活,具有加密更快速、可靠性更高、成本更低的特点,特别适合家庭、办公室等场所。智能锁居于家庭安全第一卫士的重要位置,安全性是其不言而喻的核心。

3.系统设计

   本系统采用意法半导体(ST 公司)开发的 STM32 微控制器设计的家用智能电子
锁,其中具有以下技术要求:
   1、支持正常的信息录入、删除、修改、识别、失败锁死等功能;
   2、设置管理员权限,可以管理系统中的信息(录入、删除、修改等);
   3、支持钥匙解锁以及多种智能解锁(密码、指纹、虹膜、语音等)方案;
   4、支持动态设置失败锁死次数,当达到失败次数时自动锁死,锁死期间只能通过钥匙解锁;
   智能电子锁的设计主要由五部分组成:指纹采集电路、4X4 矩阵键盘接口电路、TFT-LCD 显示电路、数据存储电路、智能电子锁控制电路。
   智能电子锁设计的主要关键问题是实现正常的信息录入、删除、修改、识别等功能:

在这里插入图片描述

4.系统硬件设计

   根据家用智能电子锁系统实现的功能,选择了 STM32F103ZET6 作为整个系统的主控芯片。系统包括的模块有处理器模块、LCD 屏显示模块、触摸屏模块、AS608 指纹模块、矩阵键盘电路模块和存储模块。如图 硬件系统总体电路所示,处理器模块是整个系统的大脑,负责对整个系统的控制。AS608 指纹模块主要完成用户的的手指信息的采集和信息的保存。LCD 屏是用来显示各种各样的信息,方便用户去操作整个系统。触摸屏模块是为了满足用户实现人机界面操作。矩阵键盘模块实现让用户可以输入密码。存储模块主要负责保存用户开锁信息、管理员信息和触摸屏参数。
在这里插入图片描述

   STM32F103ZET6 是一款高性能的 32 位单片机,内核使用的是 ARM CortexTM-M3。有着 144 根引脚,可以灵活的配置各种各样的外设,已满足我们大多数场景需求。STM32F103ZET6 运行频率为 72MHz,比起 51 单片机,运行速度大大的提升了,还支持超频操作。512K 字节的闪存和 64K 字节的 SRAM 的大内存,也满足大多数用户的编程要求。同时内置了许多的通信接口和模数转换器,使得我们在使用各种各样的外设时可以直接进行通信而不需要去模拟时序。
   STM32F103ZET6 单片机适合于各种各样的应用场合,丰富的外设配置、灵活、有效的特性为许多嵌入式控制系统提供很好的解决方案。

4.1 外围接口模块

   AS608 是一款成本较低、功能全面的指纹识别模块,目前被广泛应用于各种指纹识别应用场景,例如门禁控制、考勤打卡等。AS608 的响应速度非常快,只有几毫秒的延时。同时存储容量较大,最多有 300 个存储模板,可以满足多个用户的需求。支持多种识别模式,在不同的场景下也可以灵活使用。使用串口进行数据传输,同时支持 RS232 接口形式。
在这里插入图片描述
   在日常的产品设计中的显示器件,TFT-LCD 屏是我们大家最常用的一种。TFT-LCD屏使用的是液晶显示技术,通过去控制每个像素点去实现图像显示。TFT-LCD 的分辨率很高,能显示许多图片的细节。使用的是 RGB 格式,可以显示出丰富的色彩和效果。观看角度也非常出彩,不会出现广角看不清楚的问题。同时显示速度快、稳定性好低功耗等优点。
   NT35310 是 TFT-LCD 的一款驱动芯片,最大分辨率为 480*320,16 位真彩色。内部有很多种信号处理和控制逻辑的算法,支持多种图像显示模式,图像显示生动逼真,可以为各种类型的场所提供一个高质量高稳定的显示效果。
在这里插入图片描述
  矩阵键盘是一种日常生活中常见的输入设备。它的作用是将用户通过按下指定的按键来向计算机或其他设备输入相应的数据。矩阵式键盘使用的是行列形成的矩阵控制方式,与传统的机械按键不同,这样设计更节省资源。矩阵键盘的使用的场景非常广泛,应用于各种需要控制的场所,为用户提供了一个方便、实用的数据输入方式。
在这里插入图片描述

5.系统软件设计

  本次的家用智能电子锁设计所实现的流程是:上电后,各模块进行初始化,进入主页面显示。主页面显示门禁、录入、查看,触摸显示屏对应功能位置进入哪个功能。选择门禁功能时,可以选择指纹输入或者密码输入,输入正确后将开锁人信息,开锁时间等数据进行保存并开锁。输入错误 3 次后系统将会报警。选择录入功能时,需要输入管理员密码,输入正确后进入个人信息录入与删除界面,输入错误 3 次后系统将会报警。选择查看功能时,可以选择打开某天的信息数据,查看当天的一些数据。模块的结构流程图如下图:
在这里插入图片描述

6.系统调试

  系统上电,首先是提示更新时间。通过串口调试助手发送当前时间给单片机,单片机接受到后对数据进行解析,将解析出来的结果实现系统时间的更新。时间更新成功后,开始与 AS608 指纹模块进行通信检查。通信成功后进入主页面。
在这里插入图片描述
  可通过触摸屏选择门禁(开锁)、指纹查询、指纹录入等界面。录入界面如下所示。
  选择录入按键,进入信息录入功能。在进入指纹录入系统之前,系统为了保证信息安全,需要有管理员权限通过之后才能进入。进入后可以选择录指纹和删指纹,选择录入指纹,根据提示进行操作,指纹模板验证通过后,选择 ID 号,并且输入名称就成功了。想要进行删指纹操作,只需要输入对应指纹的 ID 号即可进行删除,为了误操作和安全,删除指纹也需要管理员权限通过之后才能操作。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3250649.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

CH03_布局

第3章:布局 本章目标 理解布局的原则理解布局的过程理解布局的容器掌握各类布局容器的运用 理解 WPF 中的布局 WPF 布局原则 ​ WPF 窗口只能包含单个元素。为在WPF 窗口中放置多个元素并创建更贴近实用的用户男面,需要在窗口上放置一个容器&#x…

15. 【C++】详解搜索二叉树 | KV模型

目录 1.定义 初始化 插入 查找 删除 完整代码 2.运用 K 模型和 KV 模型详解 K 模型 KV 模型 代码解释 为了更好地理解 map 和 set 的特性,和后面讲解查找效率极高的平衡搜索二叉树,和红黑树去实现模拟,所以决定在这里对搜索二叉树…

【06】LLaMA-Factory微调大模型——微调模型评估

上文【05】LLaMA-Factory微调大模型——初尝微调模型,对LLama-3与Qwen-2进行了指令微调,本文则介绍如何对微调后的模型进行评估分析。 一、部署微调后的LLama-3模型 激活虚拟环境,打开LLaMA-Factory的webui页面 conda activate GLM cd LLa…

基于STM32的智能加湿器设计

目录 1、设计要求 2、系统功能 3、演示视频和实物 4、系统设计框图 5、软件设计流程图 6、原理图 7、主程序 8、总结 🤞大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的题目是:《7、基于STM32的智能加湿器设计…

4 C 语言控制流与循环结构的深入解读

目录 1 复杂表达式的计算过程 2 if-else语句 2.1 基本结构及示例 2.2 if-else if 多分支 2.3 嵌套 if-else 2.4 悬空的 else 2.5 注意事项 2.5.1 if 后面不要加分号 2.5.2 省略 else 2.5.3 省略 {} 2.5.4 注意点 3 while 循环 3.1 一般形式 3.2 流程特点 3.3 注…

查看Windows中监听的端口及其关联的服务

文章目录 I 查看Windows中监听的端口及其关联的服务进程id1.1 列出了所有监听的端口及其关联的服务1.2 查找特定的端口是否开放1.3 查看哪些服务正在监听这些端口II 根据进程id查看进程名称基于cmd窗口,查看程序运行端口状态(关联服务进程id)和关联的服务进程信息 I 查看Win…

LLM大模型实战项目--基于Stable Diffusion的电商平台虚拟试衣

本文详细讲解LLM大模型实战项目,基于Stable Diffusion的电商平台虚拟试衣 一、项目介绍 二、阿里PAI平台介绍 三、阿里云注册及开通PAI 四、PAI_DSW环境搭建 五、SDLORA模型微调 一、项目介绍 AI虚拟试衣是一种创新的技术,利用人工智能和计算机视觉技…

MacBook电脑远程连接Linux系统的服务器方法

一、问题简介 Windows 操作系统的电脑可使用Xshell等功能强大的远程连接软件。通过连接软件,用户可以在一台电脑上访问并控制另一台远程计算机。这对于远程技术支持、远程办公等场景非常有用。但是MacBook电脑的macOS无法使用Xshell。 在Mac上远程连接到Windows服…

Golang | Leetcode Golang题解之第238题除自身以外数组的乘积

题目: 题解: func productExceptSelf(nums []int) []int {length : len(nums)// L 和 R 分别表示左右两侧的乘积列表L, R, answer : make([]int, length), make([]int, length), make([]int, length)// L[i] 为索引 i 左侧所有元素的乘积// 对于索引为 …

Java(二十二)---队列

文章目录 前言1.队列(Queue)的概念2.Queue的使用3.队列的模拟实现4.循环队列5.双端队列6.面试题[1. 用队列实现栈](https://leetcode.cn/problems/implement-stack-using-queues/description/)[2. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/de…

django中日志模块logging的配置和使用

一、文件的配置 settings.py文件中添加LOGGING块的配置,配置如下 # 日志记录 LOGGING {"version": 1,"disable_existing_loggers": False, # 用于确定在应用新的日志配置时是否禁用之前配置的日志器# 格式器"formatters": {"v…

自动化测试中如何应对网页弹窗的挑战!

在自动化测试中,网页弹窗的出现常常成为测试流程中的一个难点。无论是警告框、确认框、提示框,还是更复杂的模态对话框,都可能中断测试脚本的正常执行,导致测试结果的不确定性。本文将探讨几种有效的方法来应对网页弹窗的挑战&…

Android 视频亮度图标

源码 import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View;import androidx.annotation.Nullable;public class VideoBrightness …

优雅的软件工程师

今天写算法的时候、通过两道题深深意识到了,什么是优雅的代码(应该说不按套路出牌的代码) 我被折服了 第一个就是141. 环形链表 - 力扣(LeetCode) 判断换环状链表 我的思路就是用快慢指针判断,非常平平无…

SAP MR21 和 MR22 区别

MR21和MR22用来调整库存金额的话,两者之间有什么区别呢 一个是直接修改金额 一个是在原来的基础上进行加减。 MR21改的是单个物料的价格。 MR22改的是库存总价值。 MR**是不能改标准价格的,即使改了也到PRD去了,只能改移动平均价 MR21 : 商品…

HTTP协议、Wireshark抓包工具、json解析、天气爬虫

HTTP超文本传输协议 HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP 协议的重要特点: 一发一收…

简过网:备考25年国考的朋友,你的时间规划做好了吗?

备考25年国考的朋友,你的时间规划做好了吗? 根据以往考试时间,我们先预测一下25年的国考时间: 国考报名:24年10月中旬 国考笔试:24年11月底 省考报名:25年1-2月 省考笔试:25年3…

AnalyticsCloud 分析云 任意文件读取漏洞复现

0x01 产品简介 AnalyticsCloud 分析云集成了先进的数据分析技术和工具,能够处理来自各种数据源的数据,包括云数据、本地数据、传统数据和大数据等。它提供了从数据收集、整理、分析到应用的全链路解决方案,帮助企业更好地理解和利用数据&…

处理.git文件夹过大出现臃肿问题

1、问题背景 在软件开发过程中,版本控制是一个至关重要的环节。Git 作为一种流行的分布式版本控制系统,被广泛应用于各种项目中。然而,近期我们发现在进行项目发版时,Git 克隆项目的时间显著增加,严重影响了发版的效率…

深入理解Java并发编程:从synchronized到Lock的演进

目录 引言 一、synchronized关键字基础 二、Lock接口及其实现 三、ReentrantLock实战 1. 原子类(Atomic Classes) 2. 并发集合(Concurrent Collections) 3. 线程池(ThreadPool) 4. 并发工具类&…