一种基于STM32的智能门锁系统的设计

第二章 整体方案设计

2.1 需求分析
搭建简单的智能门锁系统作品,需要相应的硬件与软件结合,本设计基于STM32的智能门锁系统主要实现的功能要求有:
(1)显示屏显示操作界面;
(2)使用者可以通过设置按键进入管理界面,可以修改密码,管理指纹库以及IC卡信息管理;
(3)密码断电也不会丢失,具有断电存储功能;
(4)支持虚伪密码,在正确密码前后可随意输入数字,保护真实密码;
(5)录入正确的指纹之后,当手指放在指纹识别模块上面,检测到指纹正确之后便会打开门锁;
(6)添加IC卡信息后,IC卡放在读卡模块上进行读取识别,检测到IC卡信息正确打开门锁;
(7)通过按键输入开锁密码,密码匹配正确则开锁;
(8)如果指纹、IC卡、密码等信息识别匹配错误,五次以上识别错误系统便会锁死;
(9)系统具备管理员密码,即使忘记密码之后,管理员密码也可以打开电磁锁。
以上的功能都需要使用不同的传感器模块来实现,比如输入密码需要使用矩阵按键模块;指纹识别需要用到生物指纹识别模块;IC卡识别需要使用射频读取模块;信息显示需要用到LCD显示屏等。通过STM32主芯片连接各种传感器进行数据处理,实现上述各项功能。
2.2 系统整体方案
硬件系统设计与软件系统设计的组合构成了基于STM32的智能门锁系统设计。硬件系统的设计由STM32F103C8T6单片机核心板电路、AS608生物指纹识别电路、RC522读卡模块识别电路、薄膜矩阵键盘电路、LCD12864液晶显示电路和蜂鸣器电路组成。在软件系统设计中,对指纹识别模块采集的指纹数据经过图像归一化、图像二值化、细化以及多重滤波等方式进行处理,再与存储的指纹进行识别匹配,同时在LCD12864液晶显示屏上显示处理过程信息。对通过RFID-RC522射频模块检测的IC卡进行匹配,查找内存中是否存在该卡信息,LCD12864液晶显示屏显示相关信息。对通过矩阵键盘输入的密码进行遍历匹配,查找输入的密码信息中是否存在正确密码,并且通过LCD液晶显示屏实时显示相关的操作信息。
2.3 系统整体框架图
为了实现上述需求,需要对各个传感器电路进行设计搭建,系统整体框架如下图2.1所示。

图2.1 系统整体框图

第三章硬件电路的设计

3.1 硬件电路总体设计
一种基于STM32的智能门锁系统的整体构成主要硬件是AS608生物指纹识别模块、RC522读卡模块、薄膜矩阵键盘模块、LCD12864液晶显示屏模块、有源蜂鸣器模块、以及STM32F103低功耗系列单片机及其电路组成的电路。还有电源部分,分别提供合适的电压电源给STM32单片机,硬件功能框如图3.1所示。

图3.1 硬件电路功能框图
3.2 传感器模块电路设计
3.2.1 STM32单片机核心电路设计
本设计采用STM32F103主控芯片,以ARM32位Cortex-M3高性能CPU为核心,工作频率为72 MHz。该芯片具有三种低功耗模式,包括睡眠模式,所有外围设备仅在CPU停止以及发生中断或事件时才连续运行,停止模式以最小的功耗保持寄存器和SRAM的内容[1]。同时,当STM32f103进入停止或待机状态时,相关的时钟不会停止,电池电压仅向实时时钟RTC和备份寄存器供电,以最大程度地提高能效并以最小的功耗完成任务。该芯片具有最高的集成度,内置复位电路、带唤醒功能的低电压检测功能、稳压器、兼容5V输入输出引脚以及精确的内部RC振荡器等,这为开发人员带来了灵活性。除了与突出的简单结构和制造工艺相关的节能特性之外,STM32f103系列还提供了额外的功能,使开发人员能够提高应用程序设计的效率和可行性。STM32f103还设置了两种调试模式,包括串行调试SWD接口,可通过ST-Link或J-Link进行调试。多达112个快速I / O端口,可轻松实现数字和模拟I / O。单片机核心板电路图如图3.2所示。

图3.2 STM32单片机核心板接口原理图
实物图如下图3.3所示。

图3.3 STM32单片机核心板实物图

第四章系统软件设计分析

4.1 单片机程序开发环境
本项目设计使用的开发环境是Keil uvisin5,它是当前比较流行的一种嵌入式开发环境。Keil uVision 5提供了完整的Windows开发环境界面,支持C/C++语言开发,具有很高的C语言编辑效率,使开发者可以非常方便地使用C语言进行研发[7]。Keil uvisin5的开发界面如图4.1所示。

图4.1 Keil uVision5软件开发界面图
其中Keil具有以下特点:
Keil支持Windows操作系统,提供了丰富的开发库和强大的开发调试工具;
Keil可以完成完整的软件开发工作,从编辑,编译,链接,调试到最终仿真的过程;
Keil uvisin5为Keil uvisin4ide添加了许多新功能。例如,Keil uvisin5增强了对Cortex-M核心微控制器的开发支持,并改进了Keil uvisin4的开发形式和接口。
4.2 ARM软件库开发流程
(1)首先建立“Project”工程,先在本地新建一个文件夹,用来保存工程的固件库文件;
(2)在工程文件里分别添加STARUP、CMSIS、STM32F4xx_StdPeriph_Driver、User、Doc组目录;
(3)在工具链中的C/C++选项卡里面指定头文件的目录;
(4)在工具链中的C/C++选项卡里面添加这两个宏:
USE_STDPERIPH_DRIVER,STM32F429_439xx,
(5)屏蔽掉不需要使用的文件:
stm32f4xx_cec.c,stm32f4xx_dsi.c,stm32f4xx_flash_ramfurc.c,stm32f4xx_fsmc.c,stm32f4xx_qspi.c
(6)删除stm32f4xx_it.c文件里的下面代码语句:
#include ”main.h”, TimingDelay_Decrement();
(7)最后所使用的配置仿真器即可完成工程的建立了。具体工程开发如下图4.2所示。

图4.2 Keil uVision5软件开发流程图

第五章系统的焊接与调试

5.1 电路焊接
手工焊接是一种最常见的原始焊接方法。目前,虽然许多工厂的焊接生产基本上不使用该方法,但在进行系统测试还是会经常使用手工焊接[8]。重要的是,如果焊接过程中出现问题,整个控制系统都会受到影响,可以说焊接会使控制系统不能使用。手工焊接主要有如下四步组成的:
第一步是开始焊接。要焊接的地方要清理干净,主要是去除油渍和灰尘,然后要焊接的部分要在一定方向上以两个角度折叠。小心不要交叉每个零件的腿,这会影响焊接。接下来,让焊接头接触待焊接部件的底部,并将其放在电线上。应该注意的是,焊头不能接触到其他零件的脚,否则这两个零件将被焊接在一起。
第二步是热焊接。在第一步之后,下一步是加热焊锡丝。主要是把一个热烙铁放在设备的引脚旁边,慢慢熔化焊丝。必须注意电烙铁的温度和加热时间。如果时间太长,它很可能被焊接到面包板衬垫上。通常建议将电烙铁的温度调节到大约400度。加热大约2秒钟。这一例外也是基于设备类别的具体差异。在焊接过程中,当需要移除焊接部分时,也需要加热焊接部分。主要操作是在焊接处修补焊丝,使焊点变圆,然后通过电火花加工加热焊接处。在加热过程中,可以直接移除部件。此时,必须采取注意时间,否则垫将被损坏。
第三部分是焊接表面的清洁。第二步完成后,有时会发现焊接不完美或害怕焊接错误,需要对焊接进行添加修改,主要会出现的主要有两种情况,一种是焊锡不足,焊点不圆。这时,有必要修理焊点。此时应注意,不能增加焊料的数量,否则在其他时间段内很容易连接到引脚。第二点是焊料过多。此时,您可以使用烙铁来回滑动焊料,这将带走多余的焊料。如果不能,则只能使用吸锡器。
第四部分是焊点检查。完成前面的三个步骤后,就需要对系统电路进行整体的观察,主要是查看焊接点是否完整,光亮,牢固,并是否与其他引脚连接以及是否有漏焊。
5.2 系统调试
记住必须认真观察焊接系统是否存在问题,例如正极和负极的反向连接或者连接,明显的断裂,虚焊问题等。然后使用万用表检查是否存在严重的电源问题,例如正极和负极之间的短路,以确保系统焊接没有问题。
配置完成调试平台后,我们需要调试软件程序。如果程序调试没有问题,请开始验证系统功能是否符合要求。如果功能没有满足设计要求或者存在问题,就继续重复进行调试程序,直到满足所有功能要求为止。
5.2.1 系统程序调试
在前面新建的工程里面完成整体代码的编写,然后单击keil uvisin5软件左上角的编译按钮,系统将对工程代码文件进行编译,可以在keil uvisin5软件下面的Build Output窗口中看到相应的提示信息。如果有错误消息,则必须按照提示查找并纠正错误,直到没有错误并且实物功能满足要求为止(如果是一般警告则可以忽略)。

图5.1 程序编译无误提示界面
5.2.2 系统硬件调试
软件调试完成后,接下来就是对整个硬件进行测试,主要使用各种调试设备对焊接板进行整体调试,例如:万用表、直流电源或示波器等。主要检查设备是否能够工作进行正常。
(1)肉眼进行观察。仔细观察每个焊接点是否有虚焊现象,每个器件之间是否有存在短接现象,从而导致系统短路。
(2)使用万用表进行调试。首先检查电源是否短路,然后测量引脚连接是否正确,是否存在接线错误。
(3)上电检查。完成第一步和第二步后,接下来,可以打开电源对系统进行通电。上电后,观察各个模块是否工作正常,然后逐个测试功能。
5.3 实物测试
最后是对整个系统进行软件与硬件联调,以达到项目设计的要求。它支持指纹、NFC、密码以及感应卡四种方式进行开锁;通过LCD12864液晶显示屏显示系统操作界面,分别有运行界面、密码管理界面、指纹管理界面以及IC卡管理界面;具有分级管理权限,管理员权限才可以进行增删信息,比如修改密码、添加或者删除指纹信息以及IC卡信息等;支持虚伪密码,在正确密码前后可随意输入数字,保护真实密码;多次密码或指纹开锁失败则劫持开锁,使用管理员密码即可开锁并恢复正常。
经过测试,系统各项功能测试正常,符合设计要求,如下图5.2所示。

图5.2 实物运行测试图

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11个AI论文工具,支持LaTeX排版与多维度内容优化

工具对比排名 工具名称 核心优势 支持LaTeX 适用场景 aibiye AIGC率降个位数,兼容知网规则 是 AI痕迹强处理 aicheck 学术改写优化,语义保留佳 是 格式统一化 askpaper 降重降AI一体,20分钟快速响应 是 初稿优化 秒篇 人类特…

不止是 “姐妹岛”:明月岛的独家浪漫

明月岛,是位于黑龙江省齐齐哈尔市区西北嫩江中游的一座江心岛。其总面积约为7.6平方公里,因形如一弯明月倒映于江水之上而得名。作为一处四面环水的独特地理单元,明月岛以其自然生态与人文古迹的交融,构成了区别于城市喧嚣的静谧空…

基于单片机的眼部按摩仪设计-控制系统设计

2.总控制电路设计 2.1单片机的选择 2.1.1单片机的简介 这是一块多功能型的逻辑芯片,它相当于一台计算机,相比于计算机它只差了一些I/O设备,当它出现的时候就为许多领域的学习提供便利。 从上世纪90年代开始,单片机就开始被人们熟…

有没有想过:为什么索引能加快查询速度?深入 B+ 树原理,小白也能秒懂!

视频看了几百小时还迷糊?关注我,几分钟让你秒懂!很多开发者会用索引,但一问“为什么索引快?”就支支吾吾。今天我们就抛开黑盒,用 Java Spring Boot 的视角,结合生活化类比和底层原理&#xff…

11种AI论文创作助手,提供LaTeX排版与语义优化双重支持

工具对比排名 工具名称 核心优势 支持LaTeX 适用场景 aibiye AIGC率降个位数,兼容知网规则 是 AI痕迹强处理 aicheck 学术改写优化,语义保留佳 是 格式统一化 askpaper 降重降AI一体,20分钟快速响应 是 初稿优化 秒篇 人类特…

重磅!谷歌推出全新TranslateGemma翻译模型系列

1 月 16 日,Google 正式推出了全新开放翻译模型系列 TranslateGemma。该系列基于 Gemma 3 架构开发,提供 4B、12B 和 27B 三种参数规模。Google 表示,TranslateGemma 的推出标志着开放翻译技术的又一重大进展,旨在打破语言障碍&am…

歌乐枕西,嘉陵抱东,磁器口藏千年韵

磁器口古镇坐落于重庆市沙坪坝区东北部,是一座拥有千年历史的巴渝文化地标。它依山而建,东临嘉陵江,西靠歌乐山,由三山环抱,两溪萦绕,构成了独特的山水格局。古镇始建于北宋年间,明清以来因瓷器…

11种AI论文创作工具,集成LaTeX排版与自动化内容优化技术

工具对比排名 工具名称 核心优势 支持LaTeX 适用场景 aibiye AIGC率降个位数,兼容知网规则 是 AI痕迹强处理 aicheck 学术改写优化,语义保留佳 是 格式统一化 askpaper 降重降AI一体,20分钟快速响应 是 初稿优化 秒篇 人类特…

光圈智选首页升级:升佣 + 选品提速双 buff

光圈智选新版首页已完成重构上线,围绕带货场景中的“高效选品”与“收益提升”两大核心痛点优化,打通从选品到收益转化的全链路体验,为达人、商家的带货运营提供更高效的工具支撑。选品能力升级:精准匹配需求,提升选品…

导师推荐!MBA开题报告TOP8 AI论文写作软件测评

导师推荐!MBA开题报告TOP8 AI论文写作软件测评 2026年MBA开题报告写作工具测评:精准选择,提升效率 随着AI技术的不断进步,越来越多的MBA学生开始借助智能写作工具来提高论文写作效率。然而,面对市场上琳琅满目的AI论文…

基于stm32的四旋翼无人机的设计——飞行控制系统软件设计

2 四旋翼无人机设计总体思路 确定无人机基本需求,主要包括无人机的功能、性能、成本、功耗、尺寸和重量等。确定这些之后,就可以针对这些需求进行硬件模块的选择以及软件的初步构思。 对无人机进行系统设计,把实际问题转变为工程问题&#xf…

惊魂一刻!重装系统误删分区,数据救援大揭秘

在数字化时代,数据已成为我们生活和工作中不可或缺的一部分。然而,在操作电脑的过程中,有时会因为疏忽或误操作而导致数据丢失,其中,重装系统时误将所有分区删除便是一种常见且令人头疼的情况。这种误操作往往会导致存…

AIDL Hal 开发笔记3---- stable-c HAL 实例分析

目录stable-c HAL 实例分析在 HIDL HAL 中 聊过 Same-Process HALs,这类 hal 的调用对性能要求高,一般直接链接,不适用跨进程的方式来调用。 在 AIDL HAL 中,与之对应的是 stable-c HAL。stable-c HAL 就是一个对外接口稳定的 so …

AIDL Hal 开发笔记4----驱动开发

目录一、编写Linux 内核驱动1.1 编写驱动1.2 将模块编译进内核二、Native 程序测试驱动程序三、权限配置驱动开发 一、编写Linux 内核驱动 1.1 编写驱动 Linux 驱动实际就是一个 Linux 内核模块。 首先,我们需要理解什么是内核模块?简单来说&#x…

基于PLC的卷扬机控制系统

三、卷扬机控制系统 (一)卷扬机的基本结构 如图3-1所示,卷扬机是由一个电机通过卷筒来带动左右两个小车上下行的工业机器。在工作过程中,使用一个电机同时拖动两个小车,使左右两个小车交替运行,当左车&…

基于51单片机的出租车计价器

3出租车计价器硬件设计 硬件是一个电子器具能否顺利运行的重要保障,它是软件的物质基础和载体。本系统的硬件设计主要包含K24C02记忆存储模块,用于存储数据;DS1302时钟模块,为计价器计时;A44E霍尔传感器电路&#xff0…

收藏级指南:Agentic RAG 彻底升级传统RAG,打造能干活的AI数字同事

Agentic RAG作为传统RAG的颠覆性升级方案,核心是将静态的“检索-生成”流程,重构为智能体驱动的动态自适应工作流。传统RAG仅能完成单次问答的闭环,而Agentic RAG凭借推理规划、工具调用、自我修正的核心能力,可承接复杂任务落地。…

QML基本元素

元素可以被分为可视化元素与非可视化元素。一个可视化元素(例如矩形框Rectangle)有着几何形状并且可以在屏幕上显示。一个非可视化元素(例如计时器Timer)提供了常用的功能,通常用于操作可视化元素。现在我们将专注于几…

交直流可编程电源(技术资料) 直流电源是直流输出0-30V 5A TL494 线路; 交流电压...

交直流可编程电源(技术资料) 直流电源是直流输出0-30V 5A TL494 线路; 交流电压是10-120HZ可变频,0-30V幅度可调,5A输出; 变频交流电源部分是MEGA8DDS芯片D类数字功放做的。 电路原理: 经典的TL494开关电源线路 开关电…

DevSecOps时代测试工具的进化论:从功能验证到全链路质量保障

DevSecOps时代测试工具的进化论:从功能验证到全链路质量保障 在数字化转型加速的今天,软件开发周期持续缩短,安全威胁日益复杂,传统的"开发-测试-部署"线性流程已难以应对当下挑战。随着DevSecOps理念的深入实践&#x…