www�ele169�com | 3电子电路设计与方案0 引言在飞速发展的现代,指纹锁在国外早已进入很多的家庭,虽然我国市场不及国外那样红火,但是仍然有着强大的市场潜力,伴随着科技的不断发展,智能锁也在科技的发展中不断的提升,而指纹锁就是智能锁的典型代表,指纹锁在市场上越发的受到大家的欢迎,市场越来越壮大。
相对于传统的普通锁具,指纹锁的优势是其不能比拟的,指纹的唯一性大大提高了用户在安防性能上面的要求,而指纹的生理特征又是彻底的避免了被复制,丢失,盗取的隐患,并且指纹是随身携带,不需要额外的钥匙,这些远超传统智能锁的特点越来越吸引着人们,使得指纹锁技术越来越被人们所接受。
1 系统工作原理本设计以STM32F103开发板为基础,结合ATK-AS608指纹模块,实现了STM32与指纹模块的通信;通过指纹模块实现判断检索,STM32对指纹模块返回的信息进行读取和处理,然后再通过继电器实现门锁的开与关。
该系统工作原理如图1所示。
该设计有如下功能:录指纹;刷指纹;删指纹;设置密码。
2 硬件系统设计整个系统是通过STM32单片机,信号灯,蜂鸣器,矩阵键盘,电控门锁,继电器模块构成。
该设计的硬件流程如图2所示。
单片机在各种工业,医用,军工,人工智能等方面早就快速的提高,早已经有了无可替代的地位。
STM32 MCU 有融高性能,实时性强,功耗低,电压低等诸多优点,同时保持集成度高和便于开发的特点,能方便完成各种中小型的项目。
这个设计就是使用该款单片机,其体积小且功耗低,运算处理数据能力强,操作十分简便。
图2 总体系统结构■2.1 指纹模块ATK -AS608指纹识别模块是 ALIALIALIEN 推出的一款性能高,操作简便,稳定性高的光学指纹模块。
ATK -AS608指纹识别模块有如下特点:①芯片内置DSP 运算单元,集成了指纹识别算法,能高效快速采集图像并识别指纹特性。
②采用串口,USB 即可通信,只需通过简单的串口、USB 按照通讯协议便可控制模块,达到所想要的操作。
③指纹存储量大,可以同时存储300个不同的指纹。
④模块内自带了可以探知手指是否存在的电路,即可通过检测某一个引脚来判断指纹模块上是否有手指。
⑤模块自带随机数产生器,直接输入一行命令即可输出随机数。
⑥该指纹模块引脚很少,其与STM32单片机相连接简单,大大简化了对其控制的操作。
■2.2 压电式蜂鸣器蜂鸣器是一种将电信号转化为声音信号的转换装置,其类型十分繁杂,该设计中我们使用的是蜂鸣器的类型为压电式蜂鸣器。
压电式蜂鸣器的特性十分多,但最主要的是其造价低廉,体积小,高精度,频率优良和不耗电的特点,因此其常出现在各种小型电子用品上作为发生器件,如电子门铃,音乐盒等电子玩具。
其原理图如图3所示。
两个三极管等组成两级直耦式低频的放大电路,在放大器输入端一个三级管的基极与放大器输出端另一个三极管的集电极之间接入一块压电陶瓷片。
在这个结构中压电陶常驰,刘如意,李刚(湖北文理学院物理与电子工程学院,湖北襄阳,441053)基金项目:湖北文理学院大学生创新创业训练计划项目资助(201810519012);湖北文理学院校级教学教研项目(JY2017041)。
摘要:本文以STM32为处理控制核心,通过4×4矩阵键盘输入各种指令,以传出各种数据,到达各种模式中,然后通过 ATK-AS608模块分析处理,返回信号进行分析,处理,从而达到对电控锁的控制效果。
关键词:STM32;控制;指纹锁;矩阵键盘图1 系统整体结构框图图3 压电式蜂鸣器结构原理图电阻R1是第一个三极管的偏置电阻,其功能是用来调节三极管基极的偏置电流,使晶体管有一个合适的工作点,让其运行正常,同时电阻R1对发音音调的高低进行调节。
若R1的阻值增加,压电陶瓷片发出的声响音调就会变高。
相反,若R1的阻值变小,压电陶瓷片发出的声响音调就会变得低沉。
电阻R2是第二个三极管的负载电阻,负责吸收其产生的多余的功率。
电容C1是第一个三级管的负反馈电容,改变它的大小,就可以改变压电陶瓷片发音的音色。
该项目通过蜂鸣器的声响判断矩阵键盘的按键是否成功的按下了,即按一下响一下。
■2.3 继电器因为电控锁的最低启动电压为12V,而单片机的最高输出为5V,所以仅仅通过单片机是不可能控制电磁锁的开关,所以我们使用继电器作为控制的桥梁,使得单片机可以控制电磁锁的开关。
3 系统软件设计指纹锁的功能就是把指纹信息提前录入ATK-AS608模块进行存储录用,将指纹与编号混合编入(通过输入密码,并通过信号灯,和蜂鸣器来判断进入存储指纹的模式),之后通过刷指纹,扫描指纹获取指纹信息,加以检索,对比,判断,最后返回某值。
我们可以通过返回某个值的确切数字来判断指纹库中是否有我们之前存入的指纹,这样就可以控制门锁的开关。
当需要删除存储在指纹模块的指纹时,在正确的输入密码后即可通过删除对应的指纹ID来删除该指纹。
■3.1 4×4矩阵键盘程序设计4×4矩阵键盘顾名思义就是4×4的键盘,该模块引出8个脚,分为4行4列,每单独的一行和单独的一列刚好被一个按键的两脚所分开,16个按键都对应了不同的行列,这样我们每当按下一个键就会有与之相对应的一条线路接通(两个引脚从单片机通往单片机),就是说有两个引脚的电平相互接通,当单片机与之相连的两个引脚模式分别设置为输入和输出且两引脚电平不相同时,假若此时设置为输入模式的该引脚的电平的高低发生了改变(通过按压键盘使得线路接通),也就是说会输出一个信号到单片机来,我们只需要将单片机输出的信号读取,进行分析处理,就可与各个数字进行匹配,确保该数为自己想要的值,通过这种方法就可以使得向矩阵键盘输入密码以及随机码。
如图4所示。
■3.2 指纹模块程序设计在对指纹模块操作时要反复通过获取指纹模块的运算结果,通过控制返回的值进行各种不同的操作,大抵分为以下几个步骤。
录制指纹通过函数Getlmage()获得手指指纹的图像,如果确认获得了图像,(亮绿灯),并通过函数GenChar(CharBuffer1)获取特征,并生成特征1,否则退出该模式,此时再次按下手指生成特征2与之前生成的特征1进行比较,如判定相同则通过,并自动生成模板。
生成模板成功后,(亮蓝灯),将通过矩阵键盘输入ID号码(蜂鸣器响,一键一响),并将ID和生成的指纹模板混合存储下来,之后可通过ID进行访问或者删除指纹。
删除指纹是通过函数DeletChar(num,1)将指纹模块中存储的对应的ID进行删除,指纹和ID通过混合编码存储下来,这时只需通过特定的ID号码牌就可以将其删除。
刷指纹是通过函数将指纹读取进来,生成特征并通过对指纹库的检索函数来判断是否有与其对应的指纹,如果有则对某些引脚同时打开,当满足了中断函数的要求时,此时软件进入中断函数并将与继电器相连的引脚电平发生改变,通过控制继电器的开关间接来控制电控锁的开关。
在刷指纹中指纹模块内部流程如图5所示。
图4 4×4矩阵键盘(下转第15页)4 | 电子制作 2018年11月www�ele169�com | 15电子电路设计与方案为直观的方位角度,液晶可以正确的显示采集到的角度信息,如图4所示。
图3 最小系统的调试然后进行数字时钟的显示调试,经过系统调试之后,液晶可以显示当前的时间信息,通过数字的方式进行显示,如图4所示。
其中第一行角度和第二行方位角和右侧指针圆盘方位指示都是三种方向指示方式,为了更加直观的体现方向,时间采用12小时制,可以实时显示,配有电池可以实现断电走时的作用。
图4 传感器及显示调试本系统具有用户通过按键设定方位报警的功能,用户通过按下按键,进入设置界面,如图5所示,此时液晶提示进行罗盘的设置,用户可以通过按键进行角度上限和角度下限的设定。
当超过设定角度设定范围时,蜂鸣器就会发出报警提示。
图5 报警设置界面参考文献* [1]杜英.电子罗盘测量误差分析和补偿技术研究[D].中北大学硕士论文,2011.* [2]王永强.基于地磁测量的数字罗盘研究[D].上海交通大学,2007.* [3]周明德.单片机原理与技术[M].北京:人民邮电出版社,2008.* [4]邹久朋.80C51单片机实用技术[M].北京:北京航空航天大学出版社, 2008.4 部分主要程序摘选NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);delay_init(); //初始化延时函数PS_StaGPIO_Init();BEEP_Init();//初始化蜂鸣器usart2_init(usart2_baund);//初始化串口,与AS608模块进行通信KeyBoard_Init(); //初始化按键USART_Config();//串口初始化,方便调试ensure=PS_ReadSysPara(&AS608Para);这些代码是在写程序时一些初始化和设置,通过这可以看出该设计所需要用的一些软件和硬件,PS_StaGPIO_Init();这个函数是初始化FR 引脚,以便于在接下来得函数中通过读取该引脚的状态来判断是否有手指落在指纹模块的上面,ensure=PS_ReadSysPara(&AS608Para);这个函数是来读取指纹模块的基本参数,包括波特率,存储的模板等内容,通过这来判断是否指纹模块和单片机可以相互连接通信。
5 结语基于STM32的指纹锁的设计,能实现基本的指纹开锁,录入指纹,删除指纹的功能,也能让我们熟练的掌握了指纹模块,矩阵键盘,蜂鸣器的原理和使用方法,同时增强了我们对STM32单片机的理解和使用能力。
这项设计贴近我们的生活,入手较为简便,同时还有很强的延展性,有着不同方向的后续开发空间。
参考文献* [1]刘火良,杨森.STM32库开发实战指南(第二版)[M].机械工业出版社,2017:40-50.* [2]张世玲, 李娜. 实用型指纹锁设计[J].中国新技术新产品, 2009(16):14-14.* [3]李根柱. 一种新型指纹锁电路设计[J].电脑与信息技术, 2014, 22(2):54-57.图5 指纹模块流程图(上接第4页)。