指纹模块
# 实例
- arduino uno
# git代码仓库
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library
# AS608指纹模块
集成了光路和指纹处理部分的一体化指纹处理模块,具有体积小、功耗低、接口简单的特点,可靠性高、识别速度快、干湿手指适应性好,指纹搜索速度快。模块配备了串口、USB 通讯接口,用户无需研究复杂的图像处理及指纹识别算法,只需通过简单的串口、USB 按照通讯协议便可控制模块。模块可应用于各种考勤机、保险箱柜、指纹门禁系统、指纹锁等场合。
# 模块电原理图
# 指纹识别过程
分为两个次要过程,分为四个部分。两个次要的过程是指纹记录和交叉核对过程。指纹记录过程由四个部分组成:指纹采集、指纹预处理、指纹检查和指纹模板采集。指纹比对过程还包括四个部分:指纹采集、指纹预处理、指纹特征比对和匹配。在这两个过程中,指纹图像的前处理都存在,但指纹图像的取值和指纹 特征的值似乎有相同的名称,但它们的内在算法和性质是完全不同的。在引入指纹的过程中,更频繁地获得指纹图像,而单值提取部分的算法更多地关注一些特征值的辨析和获取过程。
指纹识别的第一步是指纹图像的获取,目前已经有多种指纹图像的获取方式,主要有光学指纹采集技术、电容式传感器指纹采集、温度传感指纹获取技术、超声波指纹采集技术、电磁波指纹采集技术,获得图像后进行预处理加工,要实现图像的灰度变换、分割、均衡化、增强、 细化等预处理步骤。首先要把指纹从整个图案上分割出来, 背景图和指纹分布图的灰度是不同的,这就确定了两者强度的区别, 利用梯度这个概念就能将指纹从背景图中很好的分离开;均衡化是预 处理中的重要一步,在提取时根据环境的不同得到的指纹图像不同区域的像素分布点是不同的,均衡化就是将不同区域分布的像素进行均值划分得到亮度分布均衡的图像;为了便于特征的提取,在几步加工后的图像还要智能化增强,Daugmann实现了利用Gabor小波逼近的方法使指纹图像的纹路线条更加清晰,即白的部分更白,黑的部分更黑,线条的边缘分布更加平滑。
对于处理好的指纹图像,指纹的纹路已经十分清晰,要进行指纹识别必须要进行特征提取,分离出那些具体的特征点来代替不同的纹路,首先提取指纹的特征端点和叉点,将端点叉点图像进行九宫格分割,利用指纹特征分布的灰度值是不同的这个特性,将指纹图像的端点和叉点分离出来,对于奇异点的提取利用Poincare公式,利用这个公式提取方向场周围剧烈变化的点,我们在计算机中使用不同的算法分别实现各个特征点的提取过程。
最后将识别的指纹分类操作,指纹的分类是用采集的指纹特征与数据库中保存的指纹特征相比较,判断是否属于同一指纹,首先根据指纹的纹形进行粗匹配,进而利用指纹形态和细节特征进行精确匹配给出相比较指纹的相似性程度。根据应用的不同,对指纹的相似性得分进行排序或给出是否为同一指纹的判决结果,指纹对比有两种方式: 一对一比对是根据用户从数据库中检索出待对比的用户指纹,再与新采集的指纹比对;一对多比对是新采集的指纹和数据库中的所有指纹逐一比对。
# 模块接口
采用 8 芯 1.25 mm 间距单排插座,模块内部内置了手指探测电路,用户可读取状态引脚TCH(WAK)判断有无手指按下。
引脚号 名称 类型 功能描述
1 Vi In 模块电源正输入端+3.3V(请勿接3.3V以上电源,否则烧毁模块!)
2 TX Out 串行数据输出,接MCU或TTL串口的RX。
3 RX In 串行数据输入,接MCU或TTL串口的TX。
4 GND - 信号地。内部与电源地连接。
5 TCH Out 感应信号输出,默认高电平有效
6 UA In 触摸感应电源输入端,3.3v供电
7 D+ - USB D+
8 D- - USB D-
(7脚,8脚为USB信号线,使用串口控制模块时可以悬空不用)
# 实验之一:Adafruit指纹传感器,更改密码示例
# 安装库:IDE—工具—管理库—搜索Adafruit-Fingerprint-Sensor-Library—安装
# 实验接线:
Vi +3.3V(请勿接3.3V以上电源,否则烧毁模块!)
TX 2
RX 3
GND GND