该项目采用了stm32和海凌科的HLK-ZW651半导体指纹模块
官方资料:HLK-ZW651用户使用手册(7Pin)
指纹识别相关代码:指纹模块
HLK-ZW651半导体指纹模块是集成了半导体传感器和指纹算法芯片为一体化指纹处理模块,具有体积小、功耗低、接口简单等特点,模块可靠性高、干湿手指适应性好,指纹搜索速度快。
指纹图像读取时,对干湿手指都有灵敏的反应和判断,能获得最佳的成像质量,适用人群广泛。 具备自学习功能,实际使用过程中越用越好用。
HLK-ZW651 模块还具备感应手指功能,当手指按压到指纹采集面时,模块 Touch 脚输出高电平。 HLK-ZW651 模块通讯接口为 UART 接口, 本模块作为从设备,由主设备发送相关命令对其进行控制。该模块具有可调节的安全等级功能、指纹特征数据的读/写功能。
指纹模块实物图:
主要实现了指纹注册、指纹验证、查看指纹个数、删除指纹、清除所有指纹、身份识别
stm32、usart、中断
引脚号 | 名称 | 类型 | 功能描述 |
---|---|---|---|
1 | VCC3_3V | In | Touch 触控电路电源 |
2 | OUTPUT_CTL | In | 上位机唤醒管脚。手指触摸后,模组内无指纹或指纹验证通过且上位机关机时输出50ms低电平 |
3 | INT_OUT | Out | 感应上电信号,手指触摸指纹传感器时输出高电平 |
4 | MCU3_3V | In | 用于指纹模块供电 |
5 | TTL_TXD | Out | 指纹模块→主控MCU,或上位机 |
6 | TTL_RXD | In | 主控MCU,或上位机→指纹模块 |
7 | GND | - | 信号地,内部与电源地连接 |
引脚名 | stm32F103RC芯片IO口 |
---|---|
VCC3_3V | 3V3 |
INT_OUT | PB1 |
MCU3_3V | 3V3 |
TTL_TXD | PA3 |
TTL_RXD | PA2 |
GND | GND |
在本次项目中遇到的难点就是关于指纹模块返回的数据处理,由于是第一次处理冗长的数据一时难以下手,最终查看文档用数组来保持接收到的数据,然后对数据进行判断处理。在这里控制led灯的亮灭来模拟指纹锁的开关,当指纹正确时,led灯就会反转一次。采用外部中断向单片机发送信号再向指纹模块发送指令包来注册指纹。指纹模块是采用半双工异步串口通讯。默认波特率为57600bps。传送的帧格式为10位,一位0电平起始位,8位数据位(低位在前)和2位停止位,无校验位。