版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录PAGE2紫琅职业技术学院毕业设计(论文)PAGE6基于单片机的智能门锁设计摘要随着人们生活水平的提高以及物联网技术的蓬勃发展和应用,各种智能家居产品层出不穷,智能门的数量逐渐为公众所使用,并将成为主要的安全手段,也是人们未来生活的工具。在智能家居系统中,门锁作为人身和财产安全的第一道重要防线,在安全方面的重要性是不言而喻的。但是,目前的机械锁解锁方法单一,智能门锁的安全性能和可靠性不高。本文正是根据这一要求,设计并实现了一种基于单片机的智能门锁系统。面对当前社会中对于高安全性、高便捷度的追求,本设计最终确定利用STM32F103单片机作为核心控制器,搭载指纹解锁模块、密码解锁模块、显示模块等必要电路,又针对各个必要电路进行硬件选型,形成了智能门锁控制系统的硬件平台。在本智能门锁系统中,指纹模块实现了指纹录入、指纹检测与开锁的功能,密码模块实现了密码录入与修改、密码检测与开锁的功能,显示模块则通过文字显示出各操作的状态。在软件设计时,采用C语言编程在Keiluvision5软件开发平台设计了智能门锁系统的软件程序,实现了指纹与密码双解锁的开锁方式,提高了系统的安全性;在解锁方式切换时采用按键切换方式,不但节约了成本,也有效的提高了操作的便捷度。验证结果表明,整个系统实现了预期的解锁功能。与目前市场上的智能门锁相比,该系统具有价格亲民、保护安全和低功耗的优点,有效地提高了门锁的安全性能,大大增加了智能门锁系统的安全性能。关键词:智能门锁;单片机;AS608指纹模块目录TOC\o"1-3"\h\u摘要 IAbstract II目录 11绪论 11.1研究的意义与目的 11.1.1课题研究意义 11.2智能门锁的国内外研究现状 11.2.1国外研究现状 11.2.2国内研究现状 31.3各章节研究内容安排 32智能门锁系统整体设计方案 52.1智能门锁的设计需求 52.2智能门锁系统总体设计 52.3本章小结 73智能门锁系统硬件设计 83.1智能门锁系统硬件结构设计 83.1.1硬件设备选型 83.2智能门锁系统的主要硬件 83.2.1STM32单片机 83.2.2AS608指纹模块 113.2.3按键密码模块 133.2.4OLED显示模块 143.2.5舵机控制模块 163.3智能门锁系统的硬件电路设计 173.4本章小结 194智能门锁系统软件设计 204.1智能门锁系统的软件架构设计 204.2智能门锁的软件开发环境设置 214.3门锁控制系统的软件设计 224.3.1STM32主控芯片初始化 224.3.2AS608指纹模块软件设计 254.3.34*4矩阵键盘模块软件设计 294.4本章小结 325智能门锁控制系统实物调试与验证 335.1智能门锁的指纹开锁方式 335.1.1指纹录入 335.1.2指纹开锁 385.2智能门锁的密码开锁方式 405.2.1密码开锁 405.2.2修改密码 425.3智能门锁的开锁模式转换 465.4本章小结 476总结与展望 486.1总结 486.2展望 48参考文献 501绪论1.1研究的意义与目的1.1.1课题研究意义随着互联网大数据的迅速发展和人们生活水平的不断提高,智能门锁控制系统的出现使得人们出门必须带钥匙的习惯发生了改变,独特的指纹解锁、密码解锁让智能门控系统的市场前景变得更加广阔,传统机械锁的开锁方式比较单一,并且缺乏相应的安防系统,同时机械锁的锁芯易锈蚀、易磨损,如果钥匙不小心遗失,就会给个人以及家庭带来巨大损失。智能门锁意味着该门锁是基于传统的机械门锁,并且在一定程度上实现了基于帐户系统的功能,例如监视管理、安全检测等,从很大程度上消除了“管理员”的负担,减少重复繁琐的任务数量。计算机的引入扩展了智能门锁的功能,用于打开门的传统金属钥匙已被具有各种用户卡的“钥匙”所取代,在部分门锁中电子帐户匹配也已取代了机械匹配,跟随着计算机系统的发展,传统的匹配模式已从锁体转移到计算机内[1]。在智能家居系统被广泛使用的时代,如何设计出一种安全性能高、可靠性好、使用方便的智能门锁系统,是各个制造商和设计师长期设计智能家居系统的重要目标。智能门锁控制系统中的门锁是指不同于传统模式的机械门锁,它是将现代信息科学、嵌入式技术与Wi-Fi无线通信技术、指纹识别等技术相结合,是具有更好识别用户信息、安全预警性能、便捷性等优点的智能门锁[2]。随着当今社会各种新技术的蓬勃发展,可以看到,智能门锁控制系统的发展是大势所趋。1.2智能门锁的国内外研究现状1.2.1国外研究现状根据相关研究数据可知,在国外智能安全与家庭安全息息相关,智能门锁的发展为人们的生活带来了极大的便利,这是人们最喜欢的一种生活方式。相关研究表明,电子密码锁的研究早在20世纪30年代就开始了,早期在一些特殊场合就会运用到电子密码锁。随着时间的推移,到了20世纪80年代后期,电子锁专用的集成电路就应运而生了,跟随集成电路的发展,电子锁的体积也在不断缩小,且可靠性得到了有效提高,但是电子锁集成电路成本较高,寻常家庭负担不起高昂的费用,所以电子锁基本使用于一些安全性要求较高的特殊场合,而且需要有电源为之提供能量。综上所述,电子锁的发展受到了很大的局限,只能在一定范围内流行起来,难以普及。虽然专家对它的研究从未停止,但是却一直没有明显的进展。到了20世纪末期,多数欧美国家和部分东南亚国家的微电子技术和通信技术都有了极大的提高,这两项技术的发展为智能门锁的发展提供了技术支持,推动了智能门锁从特殊走向普遍的阶段性发展,智能门锁不再是大家可望不可即的物品,终于走入了大众的视野。到了本世纪初,西方国家的电子密码锁技术发展相对先进、类型更加齐全。至此,智能门锁已经可以被广泛的应用于生活中,使人们在日常生活中可以更加安全、更加便捷地实现门管理[2-3]。21世纪初,在西方发达国家,密码锁技术相对先进并且类型齐全。图1-1是当前市场上智能门锁的图片。当前的电子密码锁已广泛用于智能门禁系统中,并且通过各种更安全、更可靠的技术来实现门禁管理。智能门锁的普及与区域经济的发展直接相关,目前,智能门锁在欧洲、美国、日本和韩国等发达国家的普及率相对较高,但在某些发展中国家则较低。科技在进步,时代在发展,随着时间的推移,智能门锁技术也日益成熟,智能门锁的成本正在逐渐降低,智能门锁将在不久的将来成为门锁的中流砥柱,市场需求也会迅速增长。图1-1智能门锁图片1.2.2国内研究现状当前我国智能门锁的研究事业正处于蓬勃发展的时期。相比于西方发达国家,国内针对于智能门锁的研究起步较晚,但是在最近二十年间,国内的智能门锁研究却取得了较大进展,智能门锁市场也在最近二十年间得到了扩展壮大。随着国内对于智能门锁系统研究的深入,越来越多的人投身于智能门锁的研究中,各种研究机构、高科技企业、高等院校不断推出更为智能化的门锁。从智能门锁应用的现状来看,其大部分应用领域都集中在高端场所,例如旅馆、银行、政府机构或军事机构,而尚未在普通百姓家中得到推广[4]。随着智能家居的广泛应用和当前各种技术的使用,普通电子门锁的可靠性、便利性和安全性都得到了提高,智能门锁在人民家庭生活中的地位变得越来越重要,这样的家庭安全防护系统被越来越多的人熟知并使用,它独特的安全性和便捷性很难用普通的机械门锁来代替[5]。当前国内经济的快速发展,人们需要的更多的是安全舒适的家庭生活。因此,近年来智能门锁系统已被广泛用作家庭安全系统的主要组件。智能门锁系统被看作一种AI系统,该系统使用身份验证来控制门锁开关,从而达到保护人民财产安全的目的。智能门锁系统的市场需求非常广泛,因此国内外许多大中型智能家居公司都在智能门锁的开发、研究和设计上投入了大量的人力和财力。越来越多的人关注到了智能门锁领域的发展前景,也有越来越好的技术可以与智能门锁系统相结合,智能门锁系统也会发展到一个新的高度。1.3各章节研究内容安排在本篇文章中,主要针对智能门锁系统进行了设计,包括门锁系统的硬件电路和软件电路的设计。在硬件平台搭建时,紧密贴合门锁的实际需求,将常用的几种元器件进行综合对比,最终确定使用STM32F103单片机作为核心控制器,搭载密码模块、指纹模块、显示模块等等必要电路来实现系统的功能。在硬件平台的基础上,利用编程软件对软件程序进行了系统的设计,最终将程序导入系统中,进行实物调试,检测智能门锁系统是否有效地提高了系统的安全性和使用便捷度。因此,本毕业设计的主要内容如下:第一章为绪论章节,在本章中利用文献分析法,通过文献分析得出了智能门锁系统的研究背景、国内外研究现状、发展情况,最后交代了本毕业设计的主要工作内容;第二章为智能门锁控制系统的总体设计章节,首先分析了智能门锁控制系统的设计需求,根据需求分析又确定了智能门锁系统整体设计方案以及各个模块需要实现的功能;第三章为智能门锁控制系统的硬件电路设计章节,在本章节利用综合分析法,主要对智能门锁系统的各个模块进行硬件设计,在各种常用的元器件中进行了对比与选择,基于对各元件的研究与分析,最终搭建了智能门锁的硬件平台,并介绍了各模块的原理以及它们与STM32主控平台的连接方式;第四章为控制系统软件设计章节,在本章节中,首先根据系统功能的需要确定了整个系统的软件工作流程,即对门锁控制器进行了软件设计,接着对STM32芯片的设置及其各个模块的驱动的流程和功能进行了程序设计,最后对智能门锁系统进行调试以及性能测试;第五章为实物调试验证章节,通过对焊接好的实物电路板进行操作验证的方法,对整个门锁设计系统进行验证分析,看是否满足任务布置的要求;第六章为总结与展望章节,该章节针对于智能门锁系统设计的总体工作内容和重点进行了总结,归纳出了在该设计中已完成的部分,并结合生活实际需要与科技发展情况,指出该系统设计中仍存在的不足与今后的发展方向。
2智能门锁系统整体设计方案2.1智能门锁的设计需求近二十年来,国内的智能门锁研究取得了巨大成就,然而在取得成就的同时也无法忽视其发展所受到的制约。当前的智能门锁市场行业制度、服务体系并不完善,这就导致了智能门锁无法对所有人推广使用。经过调查,在大多数情况下人们不会选择智能门锁的原因是智能门锁存在运行不稳定、操作复杂、价格昂贵等。在本次设计中,需要提高智能门锁的使用便捷度、运行安全性和价格的合理性。因此,对于需要高安全性能的智能门锁控制系统,其设计要求应注重构建安全、稳定、易于使用的智能门锁系统。根据该系统中智能门锁系统的设计要求,整个系统的设计过程应集中安全性高、稳定性好、操作简单的三个原则上[6]。原则主要内容如下:安全性高:在日常生活中,门锁保护着用户家庭的财产安全,在购买门锁时,用户最先考虑的就是门锁的安全性。因此,在门锁系统的设计时应当将安全性能放在首位考虑;稳定性好:智能门锁系统在实际运行时必须保证不能经常出现问题,当用户操作系统时,系统要及时准确地做出响应,这就对门锁的稳定性提出了很高的要求;操作简单:智能门锁系统的出现的是为了方便广大用户的生活,所以智能门锁系统的结构应当尽可能简单,其操作方式也应适当简化,以便于它的安装与使用;综上所述,智能门锁系统在设计时应在保证安全性的前提下,提高系统运行的稳定性,尽可能简化操作。2.2智能门锁系统总体设计在前一节中,已经对门锁的相关需求进行了分析,本文设计利用STM32单片机与其他硬件结构构建了智能门锁系统。基于STM32单片机的智能门锁系统,为了实现解锁的功能,总体方案设计主要包括控制系统的硬件和软件设计。该方案设计是利用主控平台进行指令的接收与对其它模块的控制,实现门锁的开闭,如图2-1所示门锁系统主要包括了显示模块、按键密码模块、指纹解锁模块以及舵机电路等等。图2-1门锁整体设计方案根据智能门锁系统的总体设计,整个硬件系统主要由主控平台、密码模块、电源管理模块以及下载调试电路等组成。在智能门锁系统的总体设计中,各个模块实现的功能是:显示模块使用的是4针0.96寸OLED显示器,主要负责密码显示以及显示各项操作的提示;作为主要控制平台,STM32F103芯片主要负责解密密文、验证匹配以及控制和驱动门锁;AS608指纹解锁模块和4*4矩阵键盘模块共同作为解锁模块。前者实现了指纹解锁的功能,后者实现了密码的解锁;电源管理模块为整个系统提供电压,使STM32F103芯片、AS608指纹解锁模块以及4*4矩阵键盘模块等其他模块能够正常工作;晶振通过结合单片机内部电路,产生STM32F103单片机所必须的时钟频率,为STM32F103芯片、AS608指纹解锁模块以及按键密码模块提供一个统一的时钟频率,使各个模块能够保持稳定的工作状态。本系统总体设计选择STM32F103芯片作为主控平台的核心控制器,它可以满足数据处理和门锁驱动控制的要求,并利用AS608指纹模块以及4*4矩阵键盘模块,从而实现系统的开锁功能。2.3本章小结本章首先分析了当前智能门锁系统的设计要求,根据安全便捷的应用需求,选择了AS608指纹模块和4*4矩阵键盘模块作为智能门锁系统设计的两种开锁方法,并分析了各模块的主要功能。此后,又提出了智能门锁控制系统的总体设计方案,为后续控制系统的硬件和软件设计提供了强大的支持。
3智能门锁系统硬件设计3.1智能门锁系统硬件结构设计根据智能门锁系统的设计需求,全面的设计出了智能门锁系统的硬件电路的总体结构,其中包括以STM32F103单片机为核心的主控平台、由密码模块和指纹模块组成的开锁模块、电源管理模块和其他模块。3.1.1硬件设备选型智能门锁系统的STM32F103主控制平台需要一个精确的时钟信号,该信号由8M外部RC振荡器电路、电源电路、复位电路和调试接口电路组成。密码解锁模块主要通过矩阵键盘的按键输入密码,控制主控平台的继电器打开门锁驱动模块;指纹解锁模块的主要功能是实现指纹解锁,先后通过录入指纹、检验指纹、核对指纹等过程来保证门锁的安全性。智能门锁系统采用的电源是外部稳压电源,在单片机内部将市电转化为12V的直流电压,通过稳压电路稳压后分别得到智能门锁系统所需要的3.3V与5V直流电源,输出的直流电压3.3V供STM32芯片,5V电压给门锁驱动电路供电[7]。表3-1智能门锁的元件清单元件名称型号数量1STM32单片机STM32F103C8T6120.96寸OLED显示器4针13扬声器8Ω2W14语音模块JQ890015舵机SG9016指纹模块AS60817独立按键——163.2智能门锁系统的主要硬件3.2.1STM32单片机例如STM32F103的ARM系列处理器和其他芯片在智能家居、无线通信、视频监控和Internet等许多当前领域中具有更广泛的应用。本系统选择STM32F103芯片作为核心控制器,主要是考虑到其具有Cortex-M3内核、丰富的系统资源和强大的在线调试功能等众多优点。STM32F103C8T6单片机一个有48个引脚,采用LQFP48引脚封装,具体封装图如图3-1所示,其采用哈佛结构和独立外部存储结构,主频率高达72MHZ,运行安全可靠,又具有较高的集成度和运行速率,故而,可以较好的实现智能门锁系统的软硬件设计[8]。图3-1STM32F103芯片封装图在以STM32F103C8T6芯片为核心控制器的主控平台中,为了系统运行时各部分可以保持同步,就需要在一个系统中使用同一个稳定、准确的时钟,因此,在此处使用外部8M晶体振荡器为系统提供基本的时钟信号。电路图如图3-2所示,其中10pF接地电容器连接到晶体振荡器的两侧。图3-2STM32F103时钟电路图若系统调试时发生错误且无法返回时,复位电路可以将当前操作状态恢复到初始状态。为了方便智能门锁系统的调试,可以在STM32主控制平台中设置一个复位电路,如图3-3所示,核心控制芯片STM32的NRST引脚是系统的复位引脚。当输入为低电平信号时就可以复位系统。图3-3STM32F103复位电路图除时钟电路和复位电路外,STM32主控制平台还包含电源和下载电路。以STM32F103C8T6为核心控制器的主控制平台的电路设计如图3-4所示。图3-4STM32F103电源电路及下载电路图3.2.2AS608指纹模块如图3-5和图3-6为AS608指纹模块实物图,图3-5为AS608指纹模块的主视图,可以看见该模块的指纹检测区,图3-6为AS608指纹模块的左视图,可以观察到该模块的连接方式。AS608模块采用8针控制接口,电源电压为3.3V,除此之外还应注意不得使用5V电源。该模块有两条通信总线,分别为串行通信(TX,RX)和USB通信(D+,D-)的通信总线;由于串行通讯在编程时的操作会比较简单,故而串行通讯是实际操作时比较常用的一种通信方式虽然它在编程时操作简答,但是其兼容性不好,这也是不可忽视的一个缺点。此外,若使用USB通讯,其编程相对困难,但是USB作为最常用的总线接口,具有良好的兼容性[9]。图3-5AS608指纹模块实物主视图图3-6AS608指纹模块实物左视图以STM32单片机为例,如图3-7为STM32单片机与AS608指纹模块的连接方式,AS608模块touch引脚接到单片机的普通I0上,当有指纹按下,该引脚就触发一个高电平信号;TX、RX引脚分别接到单片机的PB11、PB10串口引脚上[10]。图3-7AS608指纹模块电路连接图3.2.3按键密码模块此次系统的设计中,矩阵键盘也被叫做4*4行列式键盘,这种键盘的基本构造就是行线方面安排了4条I/O线,列线方面安排了4条I/O线,然后在每条行线和列线交叉的地方设置按键,按键总体数量为16个。这种行列的排列方式能够帮助单片机中I/O口的利用率迅速提高,具体排列方式如图3-8所示:图3-84*4矩阵式按键的接法对比独立式按键法来说,单片机的按键数量多出了整整一倍,而且单片机的线数越多,两者在按键数量上的区别就越明显,一般都是16个按键,但是增加一条线单片机就会变成20个按键,也就是增加了4个按键,但是独立式按键只会增加1个按键。所以能够发现,矩阵法连接键盘确实是最合适的方式,但是确实也存在一定的复杂特征,一般使用行扫描法确认按键状态。第一,就是周而复始的对低四位施加独立的低电平,进而判断键盘的状态,在低位中选择一列线将其设置为低电平状态,进而开始判断行线的状态,一旦发现某行处于低电平就可以延长时间达到消除抖动的目的。进而开展第二次的判断,如果判断结果依然属于低电平,那么证明目前键盘存在一种情况,就是有按键处于按下状态并且闭合按键属于低电平状态下的4个按键之中任意一个。紧接着,第三个判断就是用于判断目前闭合键在结构中的具体位置,主要的方法为:按照次序将列线设置为低电平状态,并且在一列线为低电平时让其他列线保持高电平。然后就开始监测不同行线的电平状态;一旦发现某个行线处于低电平状态,则判断闭合按键的位置的方式就是找出与它同样处于低电平状态的列线交叉处的按键[11-13]。如图3-9为4*4矩阵键盘按键与实物的对应图,第一行分别为7、8、9、关;第二行分别为4、5、6、NULL;第三行分别为1、2、3、选择;第四行分别为取消、0、确认、选择。图3-94*4矩阵键盘与按键对应图3.2.4OLED显示模块按照图3-10所示,能够观察到OLED显示模块的运行机制,其中图3-11展示的是这种显示屏的实物结构。在智能门锁的设计中,通过在不断地比较以及权衡利弊之后最终确定选择0.96寸OLED显示器,这种显示器的分辨率为128*64。OLED又被称为有机发光二机管,其基本特点即使能够自己发射光源,视角非常广阔以及耗电的水平比较低,操作流程比较简略和内部构造比较简单,这是学界公认的未来应用范围将会迅速普及的平面显示器新兴应用技术。图3-10OLED显示控制电路图3-11OLED显示屏实物图OLED显示屏和传统的LCD显示屏结构存在着巨大的差异,首先就是因为能够自己发射光源,所以其无需配置额外的背光灯,这样一来其内部的构造就变得更加的简单,所以相对于LCD显示屏的尺寸也会变得更薄,给观众的观看感觉也就变得更加舒适。不过,其缺点就是一次性只能控制8个点阵,而且必须是垂直方向上的,所以垂直方向的坐标选择范围只能是0~7,但是水平方向上的选择范围则是0~127。3.2.5舵机控制模块如图3-12所示,该图为舵机实物图片,该硬件在电路中的作用是模拟门锁的开关与闭合。在智能门锁控制系统中,选用型号为21.5mm*11.8mm*22.7mm的SG90舵机,通过舵机的机臂旋转角度来判断门锁系统的运行情况,当机臂摆动90。时,即表示现实中的门锁开启;当机臂摆动0。时,表示门锁闭合。舵机使用3.3V电压驱动,其标号为S的端口与STM32单片机的PB0端口相连,VCC端口接3.3V电源电压,GND端口接地,具体连接情况如图3-13所示。图3-12舵机实物图图3-13舵机控制电路连接图3.3智能门锁系统的硬件电路设计在智能门锁系统的硬件电路设计中,STM32F103主控平台作为控制系统的核心,通过它的GPIO串口分别搭载继电器、电源管理模块,其中电源管理模块一方面给STM32芯片提供稳定可靠的直流电源,另一方面作为STM32F103单片机控制继电器动作使舵机开锁的电源。根据本章前几节中对必要电路的独立设计,其中包含STM32主控制平台、AS608指纹模块、4*4矩阵键盘模块,OLED显示模块和门锁驱动电路等,经过一系列整理合并后得到智能门锁系统电路图如图3-14所示。图3-14智能门锁电路图3.4本章小结作为其他模块的控制核心,STM32F103芯片配备了4*4矩阵键盘模块、AS608指纹模块、电源管理模块、门锁驱动电路以及其他必要的外围电路。在本章节中对这些主要模块进行详细的硬件电路设计,最终将各个模块的设计集成在一起,获得了系统的整体硬件电路,为解锁智能门锁系统提供硬件支持平台。4智能门锁系统软件设计4.1智能门锁系统的软件架构设计智能门锁控制系统的软件设计包括指纹、密码检测程序和门锁控制模块的程序设计两个部分,如图4-1所示是智能门锁系统总体软件的主要结构框图,检测部分主要负责指纹的录入与检测、密码的录入,而门锁控制端主要负责舵机的开启与关闭的驱动控制。图4-1智能门锁控制系统软件结构框图在本智能门锁系统总体软件设计流程如图4-2所示,通过按键选择开锁模式,首先确定使用何种开锁模式。若使用指纹开锁模式,则将需要验证的指纹与录进系统的指纹进行比对,如果比对成功,则门锁打开;若使用密码开锁模式,则需要通过4*4矩阵键盘输入密码,验证的输入的密码是否与录进系统的密码匹配,如果密码匹配,则门锁打开,否则关闭。在密码开锁模式下,如果输入的密码错误次数达到三次及三次以上,智能门锁系统将会锁死,若想再次开锁,则需要验证管理员身份。图4-2智能门锁控制系统流程图在智能门锁系统中,通过指纹核验与密码核验、继电器驱动舵机实现了开锁的整个流程,完成了门锁系统的整体软件设计:(1)通过矩阵键盘输入和修改密码,密码匹配门锁打开,密码错误则不打开,由舵机模拟出开门关门效果。系统设置有最大输入密码和最大错误次数,错误次数超出设定值则锁死系统,需要验证管理员密码才能解锁系统。如果密码泄露,可以修改管理员密码和用户密码,密码掉电不丢失,无需重复修改。(2)管理员身份录入指纹,支持300个指纹录入,支持录入和删除指纹,通过指纹匹配解锁门禁系统,由舵机模拟出开门关门效果。(3)STM32主控平台对接收到的密文进行解密功能处理后,得到明文,接着通过控制模块的解锁命令对明文进行比对认证。验证成功后,继电器驱动舵机打开。4.2智能门锁的软件开发环境设置在智能门锁控制系统中,门锁的硬件控制核心是STM32F103主控芯片,根据ARM系列芯片的应用需求,选择的软件开发环境是大多数人所使用的Keil_5uvision_5。Keiluvision_5软件开发平台的优点是界面操作简单、软件编程快速有效、支持在线仿真。根据调查,全球有超过100000个软件和硬件开发工程师使用该软件对项目进行开发和验证仿真。与其他各种软件开发平台对比,Keiluvision5软件有着不可替代的优势,该软件无论是在结构还是在功能上都有着强大的功能,除此以外,它还是一款支持C语言开发的软件编程系统。Keiluvision5不仅可以大大提高开发者的编程效率,并且其设计出的代码也会更加具有条理性,利用它开发出来的程序也更容易被其它开发者读取和理解,这在另一方面也变相促进了智能门锁系统的发展,使得越来越多的人可以参与到智能门锁控制系统的研究开发中来。4.3门锁控制系统的软件设计智能门锁控制系统为了实现双重模式开锁的功能,在硬件设施上选用了4*4矩阵键盘和AS608指纹模块,它的实现过程是通过按键确定开锁方式,若为指纹开锁方式,则通过比对指纹确定是否打开门锁;若为密码开锁方式,则通过比对密码确定是否打开门锁,如果密码错误超过限制,还需要将门锁锁死,因此需要对STM32F103主控平台、AS608指纹模块、4*4矩阵键盘模块以及门锁(舵机)驱动继电器等进行软件的设计。4.3.1STM32主控芯片初始化在上一节中,使用Keiluvision_5软件构建了一个软件开发平台,该平台实现了STM32库功能和配置文件的添加,若要完成系统的整体设计,仍旧缺少一部分要素,因此,在软件设计中,还需要实现STM32芯片的系统时钟、中断控制器以及输入和输出GPIO引脚的软件设计。为了完成STM32单片机与AS608指纹模块实现指纹解锁以及与4*4矩阵键盘模块实现密码解锁的两大功能,在Keil_5软件中需要对STM32芯片进行初始化设计。如图4-3所示程序为智能门锁系统的主函数程序部分,该部分对各变量进行了定义,设置系统的默认管理员密码为“000000”、默认用户密码为“111111”。图4-3变量定义在实际运行中,不得不考虑到系统运行的功率损耗,因此需要为STM32单片机设计一个功能完善的时钟系统,以此来达到降低智能门锁控制系统的功率损耗的目的。在一般情况下,普通的单片机只需要配置好一些GPIO引脚的寄存器就可以实现目的,但是由于STM32单片机的特殊性,就需要额外再增加一个重要步骤,即进行外设时钟设置[14]。如图4-4所示为系统的时钟配置程序,在STM32单片机中一般选择的高速外部时钟HSE,它的频率范围一般为4MHz~16MHz,本系统选择的是8MHz。图4-4系统时钟配置在实际操作中,每一步操作都需要有时间间隔,这就需要使用定时器,因此在软件设计时还需要使用到STM32的定时器中断程序,如图4-5所示是控制系统的中断配置程序。图4-5系统中断程序如图4-6所示,智能门锁控制系统的各个子模块驱动均涉及到相应引脚的配置,STM32的GPIO引脚可分为输入和输出两种模式,可根据外部设备的需要进行不同模式的选择,模式配置完成后,还需要对它的速度进行配置。选择匹配速度的输出驱动模块,可以降低功耗和噪声。图4-6GPIO引脚设置在智能门锁系统的软件设计中,需要对整个系统的延时进行设置,通过STM32的时钟得到微秒级和毫秒级的程序为下图4-7所示:图4-7延时函数4.3.2AS608指纹模块软件设计如图4-8所示为AS608指纹模块的部分程序,该部分程序表示AS608模块正在检测指纹,处于感应状态。图4-8感应状态部分程序AS608指纹模块主要功能就是录入指纹、检测指纹,当其处于录入指纹工作状态时,其工作流程如下图4-9所示:图4-9录入指纹流程图如下图4-10所示程序即为AS608指纹模块的录入新指纹中检测指纹图像的程序。图4-10录入指纹程序如下图4-11和图4-12所示为智能门锁控制系统中AS608指纹模块的指纹特征生成程序和特征比对程序。在生成指纹特征时,单片机将从ImageBuffer中提取的原始图像生成指纹特征文件,最后将其存储在CharBuffer1或CharBuffer2中。在对比指纹特征时,又会精确比对CharBuffer1与CharBuffer2中的特征文件,得出指纹是否匹配的结论。图4-11生成特征程序图4-12比对指纹特征程序新指纹录入成功后即可利用指纹进行开锁操作,在该操作中,程序流程图设计如图4-13所示:图4-13指纹开锁流程图指纹开锁环节利用if函数进行条件判断,首先获取图像,图像获取成功后生成图像特征,再将图像特征进行搜索匹配,特征匹配成功门锁打开,反之门锁闭合。部分程序如图4-14所示。图4-14刷指纹操作部分程序4.3.34*4矩阵键盘模块软件设计在智能门锁系统中,利用密码解锁最重要的就是对矩阵键盘输入的密码进行匹配验证,当错误密码输入次数达到三次时,系统会触发门锁锁死程序,想要再次打开门锁,必须进行管理员身份验证。具体流程图见下图4-15。图4-15密码解锁流程图在智能门锁控制系统中,利用4*4矩阵键盘实现密码开锁,对于密码开锁的软件程序设计如图4-16和图4-17所示,该部分程序表示模块正在获取密码以及显示密码。图4-16密码显示程序图4-17获取密码程序在本章首节中提到若输入密码错误次数超过三次,则门锁系统锁死,下图4-18所示程序即为密码错误次数超限程序。在该部分的程序中,errcount为错误次数,通过if函数来进行条件判断,具体语句为if(errcount>=MAXWrong-number),即表示如果错误次数大于或等于最大容错数,就会执行以下程序。满足if函数后,首先OLED清屏,屏幕显示“请验证管理员密码”。接下来进入while循环语句,只有管理员密码验证成功,才可以再次输入开锁密码,此时又利用了if条件语句进行判断,这时系统错误次数NOWWrong-number为0,输入正确开门密码后,门锁打开。如果输入的管理员密码错误,就会一直停在while循环中无法跳出;输入开门密码错误,也会在while循环中无法跳出,门锁出现锁死。其流程图见4-19所示。图4-18密码错误超限程序图4-19密码错误超限流程图4.4本章小结本章根据智能门锁系统需要实现的功能进行了软件整体设计,它主要包括门锁控制系统的软件开发环境以及程序简介并依据各个模块的作用与功能,利用Keil_5软件对STM32芯片进行初始化设置和AS608指纹模块、4*4矩阵键盘模块进行了设计与开发。
5智能门锁控制系统实物调试与验证5.1智能门锁的指纹开锁方式5.1.1指纹录入如图5-1和图5-2所示,此图为智能门禁系统录入指纹界面。要录入新的指纹,就需要先验证管理员身份,主要通过输入管理员密码来验证管理员身份,在本系统中,设置管理员系统密码为“000000”。图5-1指纹模式验证管理员身份图5-2输入管理员密码输入管理员密码后,点击S15按键表示“输入完成”,接着就会出现图5-3所示现象,OLED显示屏提示:请按指纹,并显示当前系统中的剩余指纹容量和当前指纹数。图5-3提示请按指纹根据提示,如图5-4所示,将未录入过指纹的手指按在AS608指纹模块的检测区,OLED显示屏显示图5-5中的文字:请再按一次指纹,此时用同一根手指按住AS608模块不要松动即可完成指纹比对。完成比对现象如图5-6所示。图5-4录入新指纹图5-5比对新指纹图5-6新指纹比对成功紧接着就需要对新录入的指纹设置一个新的ID号,如图5-7所示。在4*4矩阵键盘模块中,S14按键表示ID+,S15表示ID-,根据显示屏中显示的lev:3可以得知当前系统中已存在三个指纹,因为如果录入的ID号小于3,将会导致新指纹覆盖掉旧指纹,使得旧指纹无法打开门锁,所以录入的新指纹ID必须大于3。如图5-8所示,按住S14按键,让ID号增加到4后停止,再点击S16按键确认ID号输入完成,就出现了如图5-9所示的现象,这就表示新指纹录入成功。图5-7设置新指纹ID图5-8输入新指纹ID图5-9新指纹录入成功5.1.2指纹开锁如图5-10所示,该图为智能门锁系统的硬件焊接图,当前开门方式为指纹开锁模式。首先,通过STM32单片机的USB接口将电源接通,OLED显示屏显示出开锁模式为:“指纹开锁”,同时屏幕显示:“请验证指纹”。图5-10智能门锁密码解锁实物图接着,如图5-11所示,将已经录好指纹的手指按到AS608指纹模块的检测区,如果指纹比对成功,将出现图5-12的现象,即舵机打开,同时屏幕显示“指纹验证成功”。如图5-13,如果指纹比对失败,即验证未录入的指纹,此时舵机关闭,并且OLED显示屏会显示“指纹验证失败”。图5-11验证指纹图5-12指纹验证成功图5-13指纹验证失败以上全部叙述为对基于单片机的智能门锁系统的指纹解锁方式的验证,其中包括了新指纹录入与指纹解锁两种操作的验证,经验证,两种操作均可正常进行。5.2智能门锁的密码开锁方式5.2.1密码开锁如图5-14所示,该图为智能门锁系统的密码开锁界面,此时舵机关闭,在该系统中,设置的默认用户密码为“111111”。图5-14密码开锁界面如图5-15所示,输入在该系统中设置的默认用户密码“111111”,再点击S15按键,表示确认输入的六位密码,紧接着就会出现图5-16的现象,舵机打开,即表示密码开锁方式下智能门锁系统开锁成功。图5-15输入密码图5-16密码开锁成功如图5-17所示,输入错误的密码,则舵机无法打开,OLED显示屏显示:密码错误。连续三次输入错误的密码,智能门锁系统会出现锁死,无法打开门锁,再次打开门锁则需要验证管理员身份,即输入管理员密码“000000”。图5-17密码错误开锁失败5.2.2修改密码如果在操作中出现密码泄露需要修改密码,首先要做的就是核验管理员密码。先点击按键S12,进入密码修改模式,在出现如图5-18所示现象后,输入管理员密码“000000”,点击S15按键表示确认输入。图5-18验证管理员身份输入管理员密码进行身份确认后,出现如图5-19的现象,可以通过S12按键和S16按键来进行“管理员”密码修改和“用户”密码修改的选择,S12按键表示向上选择,S16按键表示向下选择。图5-20所示现象即为修改对象密码过程,此时可以任意设置密码。图5-19选择修改对象图5-20修改密码下图5-21为密码修改成功后的现象。在修改完密码后,点击S8按键退出,即可返回到密码开锁模式,继续进行密码开锁操作。图5-21密码修改成功最后,进行新密码开锁验证。下图5-22为新密码开锁情况下的现象,图5-23表示新密码成功开锁。图5-22新密码输入图5-23新密码开锁成功以上全部叙述为对基于单片机的智能门锁系统的密码解锁方式的验证,其中包括了密码解锁与修改密码两种操作的验证,经验证,两种操作均可正常进行。5.3智能门锁的开锁模式转换在智能门锁控制系统的实物调试中,需要进行开锁模式的切换,在本系统中采用的切换方式是按键切换。如图5-24所示,当前模式为密码开锁模式,接下来点击按键S16就可以进行开锁模式切换。点击后,如图5-25所示,OLED显示屏显示当前开锁模式为指纹解锁模式。图5-24密码开锁模式图5-25指纹开锁模式5.4本章小结本章主要是对智能门锁系统的实物进行了调试验证,主要包括对门锁实物的密码开锁与指纹开锁、指纹录入、密码修改、开锁模式切换的调试。经过检验,通过舵机的开关与闭合来模拟门锁的开关与闭合,该系统可以实现预定的任务,门锁通过指纹解锁与密码解锁均可实现正常开闭。
6总结与展望6.1总结随着社会的进步,互联网技术也在蓬勃发展,各种智能家居产品不断涌现,人们对美丽舒适生活的需求也做出了新的定义。智能门锁保护人民人身安全、财产安全和家居生活安全,可以实现人们在当今快速发展的时代所享有的便利、舒适和安全,因此智能门锁系统的推广与应用是极其重要的[15]。本文主要设计了一种基于单片机的指纹解锁与密码解锁的智能门锁,通过这次智能门锁系统的设计,不仅仅对大学所学知识进行了系统性整合学习,也对智能门锁系统的设计原则、开发流程有了一定的思考。总结全文,当前主要完成的工作和成果总结有以三点:首先,在本文开头几章节中,利用资料收集法、文献分析法整理出了智能门锁系统的研究背景、国内外发展现状,又分析得出了在当前社会背景下针对于智能门锁系统的研究意义与价值。分析出当前人民没有广泛使用智能门锁的原因后,提出了智能门锁的设计需求。接着,根据智能门锁的设计需求,利用综合分析法,将常用的元器件进行性能、价格等方面的对比,确定了门锁系统的硬件选型。将高性能的STM32单片机作为主要控制平台,具体型号为STM32F103C8T6,再搭载用于指纹解锁的AS608指纹模块、用于密码解锁、解锁方式切换、身份核验的4*4矩阵键盘模块、显示具体操作提示的OLED显示模块、供电的电源管理模块、模拟门锁开闭的舵机电路,对这些必要电路进行整体设计,为智能门锁系统提供了一个可靠的硬件平台。最后,利用Keil5软件对智能门锁系统进行软件程序设计,不但设置了系统的复位电路,而且还实现了智能门锁的指纹解锁、密码解锁的双解锁方式。经过一系列实验和调试,当前智能门锁系统可以实现指纹录入、指纹检测与开锁、密码修改、密码检测与开锁、开锁方式切换的功能,基本达到了需求分析中对于安全性、便捷度、价格合理的要求。6.2展望伴随着国内经济水平的高速发展,人民对于安全的需求越来越高,智能门锁的发展也被越来越多的人们重视起来,门锁的发展也在偏向于安全化和智能化[16]。但是由于当前情况下的各种条件制约,本人仅仅针对智能门锁系统的开锁方式进行了重点设计,焊接出门锁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔科诊疗配合护理质控细则
- 2026 年夏季社区护理实习生基层健康服务实习带教
- 2026 年肾内科专科护理质量质控工作汇报
- 2026年急诊科颅脑损伤急诊护理科普教学
- 考点预约工行笔试考点预约通道已开放请查收攻略笔试历年典型考题及考点剖析附带答案详解
- 2026年国家公务员考试行测真题历年真题
- 2026年《花卉学》期末考试真题含答案详解ab卷
- 2026年茶树种植工技能竞赛题库及答案
- 2026年高考全国卷地理试卷及答案
- 2026年高职阶段测试(园艺技术)试题及答案
- 2026年软考《系统架构设计师》基础知识真题
- 2026年秋统编版(新教材)道德与法治五年级上册(全册)分层作业及答案(附目录)
- 城市轨道交通站务员岗前能力评估考核试卷含答案
- 2026年房地产经纪人《房地产交易制度政策》考试真题(后附答案解析)
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 施工现场设备、设施管理制度
- 言语治疗与兽医沟通障碍的干预技术模拟
- 安全应急装备产业发展研究报告(2025年)
- 2025-2026学年春季第二学期“1530”安全教育安排表(可打印版)
- 《中外设计史-外国篇》3
- 起重机械伤害事故专项应急预案
评论
0/150
提交评论