基于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/1124269.shtml

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

相关文章

基于单片机的太阳能驱动的智能百叶窗(有完整资料)

资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T3122407C设计简介:本设计是基于单片机的太阳能驱动的智能百叶窗,主要实现以下功能:通过光敏电阻检测光照值 通过步进电…

《P3200 [HNOI2009] 有趣的数列》

题目描述我们称一个长度为 2n 的数列是有趣的&#xff0c;当且仅当该数列满足以下三个条件&#xff1a;它是从 1∼2n 共 2n 个整数的一个排列 {an​}n12n​&#xff1b;所有的奇数项满足 a1​<a3​<⋯<a2n−1​&#xff0c;所有的偶数项满足 a2​<a4​<⋯<a2…

Belkin发布全新屏幕保护产品系列并推出“日常磨损更换计划”,全面提升设备日常防护水平

• Belkin发布七款全新屏幕保护膜&#xff0c;搭载专有Nano-Titan™技术&#xff0c;显著增强对日常跌落与刮擦的防护能力 • 全新“日常磨损更换计划”让消费者在产品更换方面更加安心无忧 • 消费者现可通过Screen Skinz实现屏幕保护膜的个性化定制 作为一家深耕消费电子领域…

接口自动化测试知识总结

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快1. 什么是接口测试顾名思义&#xff0c;接口测试是对系统或组件之间的接口进行测试&#xff0c;主要是校验数据的交换&#xff0c;传递和控制管理过程&#xff0c;以…

三分钟带你看懂AI大模型(图文教程)

不废话&#xff0c;直接上干货—— 什么是模型&#xff1f; 通俗地讲&#xff0c;模型是一个基于神经网络构建好的处理器&#xff0c;比如函数yF(x)&#xff0c;它能够根据输入x&#xff0c;产生相应的预测y或者输出内容y。什么是训练&#xff1f; 通过输入数据并监督输出结果来…

《CF1278F Cards》

题目描述 考虑如下实验。有一副共 m 张牌的牌堆&#xff0c;且恰好有一张是小丑牌。你将进行 n 次如下操作&#xff1a;将牌堆洗牌&#xff0c;从牌堆顶端抽出一张牌&#xff0c;查看后再放回牌堆。 设 x 表示在本次实验中你抽到小丑牌的次数。假设每次洗牌后&#xff0c;所有…

积木报表重磅更新:移动报表功能全面支持,跨设备无缝对接

在移动互联网时代&#xff0c;移动办公已成为企业数字化转型的重要趋势。然而&#xff0c;传统的报表系统往往只能在 PC 端使用&#xff0c;外出办公、现场数据采集、移动审批等场景下&#xff0c;数据查看和填报受到极大限制。如何打破设备限制&#xff0c;让报表随时随地可访…

【2026年最新网络安全就业方向】网络安全专业的学生毕业后可以从事什么样的工作?

岗位一&#xff1a;渗透测试。 模拟黑客攻击&#xff0c;利用黑客技术&#xff0c;挖掘漏洞&#xff0c;提出修复建议。有些的大厂&#xff0c;例如奇安信&#xff0c;会把渗透岗位分为红蓝两方&#xff0c;对候选人的技术要求比较高&#xff0c;大部分刚入行的新人&#xff0…

普源数字万用表示值不准/开机异常的7种解决方法

普源数字万用表作为电子测量中的常用工具&#xff0c;若出现示值不准或开机异常&#xff0c;会影响测量精度和效率。本文总结了7种常见问题的解决方法&#xff0c;帮助用户快速排查故障&#xff0c;恢复仪器正常功能。检查电池电量与接触 问题&#xff1a;电池电量不足或接触不…

自动化测试基础知识总结

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快自动化测试是指利用自动化工具和脚本&#xff0c;模拟人工操作进行软件测试的过程。它在软件开发中扮演着非常重要的角色&#xff0c;可以提高测试效率、降低成本、…

区块链 Web3 项目开发

区块链 Web3 项目的开发在 2026 年已经进入了“生产力时代”。与早期追求炒作不同&#xff0c;现在的开发更强调实用性&#xff08;Utility-First&#xff09;、合规性以及与 AI 智能体&#xff08;AI Agent&#xff09;的深度融合。以下是区块链 Web3 项目开发的标准流程与核心…

AbMole丨VcMMAE:从CD20到HER2,赋能多靶点ADC开发的通用平台

VcMMAE&#xff08;MC-VC-PAB-MMAE&#xff0c;AbMole&#xff0c;M9216&#xff09;是抗体偶联物&#xff08;ADC&#xff09;研究中的关键组件&#xff0c;由微管抑制剂MMAE&#xff08;单甲基奥瑞他汀E&#xff0c;Monomethyl auristatin E&#xff0c;AbMole&#xff0c;M3…

Launch Template 和 ALB、Target Group、Auto Scaling Group 是什么关系?

一、Launch Template 的作用是什么&#xff1f; 一句话定义&#xff08;面试版&#xff09; Launch Template 是 EC2 实例的标准化启动配置&#xff0c;用来告诉 Auto Scaling“新实例该如何创建和配置”。 Launch Template 具体解决什么问题&#xff1f; Auto Scaling 不会“复…

软件测试之bug分析定位技巧

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快1、web前端Web前端就是通常说的网页。互联网公司的前端一般包含如下内容&#xff1a;JavaScript、ActionScript、CSS、HTML(..ML)、Flash、交互式设计、视觉设计web…

普源数字万用表DM3068与是德科技34461A对比分析

在现代电子测量领域&#xff0c;数字万用表作为基础且关键的测试仪器&#xff0c;广泛应用于研发、生产、维修等多个环节。普源精电&#xff08;RIGOL&#xff09;的DM3068与是德科技&#xff08;Keysight&#xff09;的34461A是两款在中高端市场中颇具代表性的6位数字万用表&a…

基于单片机控制的音乐盒

第2章 系统硬件设计 2.1单片机内部结构 STC89C52 是一种耗能低、性能高CMOS8位微控制器&#xff0c;它基本都是51内核的种类&#xff0c;是新一代增强型单片机&#xff0c;具有8K在系统可编程Flash存储器&#xff0c;加密性好&#xff0c;抗干扰强。STC89C52具有的可编程的Flas…

计算机网络入门必知:从信号到速率,一张图讲清通信基础!

计算机网络入门必知&#xff1a;从信号到速率&#xff0c;一张图讲清通信基础&#xff01;在学习计算机网络时&#xff0c;很多同学会被“码元”“波特率”“比特率”这些术语绕晕。其实&#xff0c;只要理解了底层的通信原理&#xff0c;这些概念就会变得清晰又有趣。今天我们…

解读|生产级RAG系统落地的10个经验教训

本文为大家解读Contextual AI 联合创始人兼CEO&#xff0c;也是著名的RAG技术先驱&#xff0c;Douwe Kiela 分享的他在企业级 RAG 系统实施与落地中的十大经验教训 。 解读纯属个人观点&#xff0c;欢迎探讨。 本次分享主要针对企业AI系统转化为商业价值的关键难题&#xff1a;…

一文带你了解最吃香的金融类软件测试(附面试文档)

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、为什么做金融类软件测试举个栗子&#xff0c;银行里的软件测试工程师。横向跟互联网公司里的测试来说&#xff0c;薪资相对稳定&#xff0c;加班少甚至基本没…

Amazon CloudWatch 的系统化汇总版

一、CloudWatch 是什么&#xff08;一句话版&#xff09; Amazon CloudWatch 是 AWS 的集中式监控服务&#xff0c;用来收集、存储、可视化和告警 AWS 资源的指标和日志。 核心关键词&#xff1a; 集中式&#xff08;centralized&#xff09; / 托管&#xff08;managed&#x…