本篇文章主要介绍如何在arduino开发板上使用指纹传感器模块fpm10a。我们将向您介绍如何注册新的指纹id,以及如何查找匹配的指纹。
指纹传感器模块简介
通过使用下图所示的指纹传感器模块可以使指纹识别更易于实现,并且易于添加到您的项目中。这意味着指纹采集、注册、比较和搜索是非常容易实现的。
这些模块带有flash存储器,用于存储指纹,并可与ttl串行接口的任何微控制器或系统一起使用。这些模块可以添加到安全系统、门锁、考勤系统等等。
产品规格
以下是我们使用的指纹传感器模块的规格(您应该检查供应商提供的传感器数据手册或规格书 - 它们的参数应该差别太大):
● 工作电源:dc 3.6至6.0v
● 电流:《120ma
● 背光颜色:绿色
● 接口:uart
● 波特率:9600
● 安全等级:五级(从低到高:1、2、3、4、5)
● 错误接受率(far):《0.001%(安全级别3)
● 错误拒绝率(frr):《1.0%(安全级别3)
● 能够存储127个不同的指纹
传感器模块引脚
传感器模块有六个引脚,如下图所示。
这个项目中使用的指纹传感器模块带有颜色相同的导线,因此需要焊接易于区分的导线。我们建议根据引脚功能使用不同的颜色。在我们的示例中:
● dnc - 白线
● vcc - 红线
● tx - 蓝线
● rx - 绿线
● gnd - 黑线
下表显示了传感器与arduino的连接方式。
指纹传感器arduino
vcc5v(它也适用于3.3v)
txrx(数字引脚2,串行)
rxtx(数字引脚3,串行)
gndgnd
安装adafruit指纹传感器库
使用arduino控制指纹传感器模块的最简单方法是使用该传感器的adafruit库。按照下面的说明安装库:
1. 首先下载adafruit指纹传感器库。下载完成后,您将得到一个.zip文件;
2. 解压缩.zip文件,你会看到一个adafruit-fingerprint-sensor-library-master文件夹;
3. 将adafruit-fingerprint-sensor-library-master文件夹重命名为adafruit_fingerprint_sensor_library文件夹;
4. 将文件夹移动到您的arduino ide安装库文件夹;
5. 最后,重新打开arduino ide。
注册一个新的指纹
将指纹传感器模块连接到arduino,请按照下面的步骤注册新的指纹。确保您之前安装了adafruit指纹传感器库。
1. 在arduino ide中,转到file 》 examples 》 adafruit fingerprint sensor library 》 enroll。
2. 上传代码到arduino开发板,并以9600的波特率打开串行监视器。
3. 这时您应该输入指纹的id。由于这是您的第一个指纹,请在左上角输入1,然后单击send按钮。
4.将手指放在扫描仪上,然后按照串行监视器上的说明进行操作。
系统会要求您将同一根手指放在扫描仪上两次。如果您收到“prints matched!”消息,如下所示,您的指纹已成功存储。如果没有,重复这个过程,直到你成功。
使用此方法存储您想要的指纹。
找到一个匹配的指纹
你现在应该保存有几个不同id的指纹。要找到与指纹传感器匹配的指纹,请按照下面的说明进行操作。
1. 在arduino ide中,转到file 》 examples 》 adafruit fingerprint sensor library 》 fingerprint ,然后将代码上传到arduino开发板。
2. 以9600的波特率打开串行监视器。您应该会看到以下消息:
3. 在扫描仪中放置要识别的手指。
4. 在串行监视器上,您可以看到与指纹匹配的id。同时它也显示了信心值 - 信心值越高,表示该指纹与存储的指纹越相似。
项目示例 - 在oled显示屏上显示匹配的指纹
在这个项目的例子中,我们将从两个不同的人注册两个指纹。然后,我们会在oled显示屏上显示相应的匹配问候消息。
所需的组件
对于这个例子,你需要以下几部分:
● arduino uno 开发板
● 指纹传感器模块
● 0.96英寸的oled显示屏
● 面包板
● 跳线
原理图
下面是这个项目制作电路的接线图。
安装0.96英寸oled库
要控制oled显示屏,您需要使用“adafruit_gfx.h”库和“adafruit_ssd1306.h”库。按照下面的步骤安装这些库:
安装adafruit_gfx库
1. 点击此处下载adafruit gfx库。下载完成后,您将得到一个.zip文件;
2. 解压缩此.zip文件,您会看到一个adafruit-gfx-library-master文件夹;
3. 将adafruit-gfx-library-master文件夹重命名为adafruit_gfx_library(确实需要用“_”替换那些“ - ”);
4. 将adafruit_gfx_library文件夹移至arduino ide安装库文件夹;
5. 最后,重新打开你的arduino ide。
安装adafruit_ssd1306库
1. 点击此处下载adafruit_ssd1306库。下载完成后,您将得到一个.zip文件;
2. 解压缩此.zip文件,您会看到一个adafruit_ssd1306-master文件夹;
3. 将adafruit_ssd1306-master文件夹重命名为adafruit_ssd1306;
4. 将adafruit_ssd1306文件夹移至arduino ide安装库文件夹;
5. 最后,重新打开你的arduino ide。
代码
在上传代码之前,您需要注册来自不同人员的不同指纹。转到上面的“注册一个新的指纹”部分,上传给定的代码并按照说明注册两个指纹。然后,修改代码,使指纹id与登记人员的姓名一致。最后,你可以上传提供的代码。
导入库
代码首先导入所需的库以写入oled显示屏,然后创建一个名为display的adafruit_ssd1306对象。
#include 《wire.h》
#include 《adafruit_gfx.h》
#include 《adafruit_ssd1306.h》
#define oled_reset 4
adafruit_ssd1306 display(oled_reset);
我们还需要导入指纹传感器所需的库:adafruit_fingerprint.h和softwareserial.h。
#include 《adafruit_fingerprint.h》
#include 《softwareserial.h》
softwareserial myserial(2, 3);
以下行设置引脚2和3上的串行接口。引脚2为rx,引脚3为tx。
softwareserial myserial(2, 3);
然后,我们在之前设置的串行引脚上创建一个名为finger的adafruit_fingerprint对象。
adafruit_fingerprint finger = adafruit_fingerprint(&myserial);
接下来的两行创建变量来保存指纹id和idname。
int fingerprintid = 0;
string idname;
setup()函数
在setup()中,指纹传感器和oled显示器都被初始化。我们还在串口监视器上打印一条消息,以便我们知道指纹传感器是否成功找到。
void setup(){
//fingerprint sensor module setup
serial.begin(9600);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifypassword()) {
serial.println(“found fingerprint sensor!”);
}
else {
serial.println(“did not find fingerprint sensor :(”);
while (1) { delay(1); }
}
//oled display setup
wire.begin();
display.begin(ssd1306_switchcapvcc, 0x3c);
//displays main screen
displaymainscreen();
}
loop()函数
在loop()中,代码在oled显示屏上显示主屏幕 - 这是在displaymainscreen()函数中完成的。然后,代码不断检查传入的指纹。如果传感器找到保存的指纹,则arduino将相应的id保存在fingerprintid变量中。
然后,代码有一个if / else语句来检查指纹所对应的id。您应该使用相应的id和名称编辑以下代码行。
if(fingerprintid == 1 || fingerprintid == 3 || fingerprintid == 4 || fingerprintid == 5){
idname = “sara”;
displayusergreeting(idname);
}
else if(fingerprintid == 2){
idname = “rui”;
有时,如果传感器以不同的id保存多次,传感器会更好地识别指纹。识别id名称后,oled会显示一个问候语 - 这是在displayusergreeting()函数中完成的,
演示程序
现在,当保存指纹的人将手指放在传感器上时,它会显示一条问候消息。
总结
在本篇文章中,我们向您展示了如何使用指纹传感器模块:注册指纹并找到匹配的指纹。
有时,如果您的手指没有像保存时那样放置手指的话,特别是女性的指纹(我们不知道为什么会发生这种情况),传感器很难识别指纹。我们注意到,如果您将手指缓慢放在扫描仪上,传感器效果会更好。
在我们看来,指纹传感器模块工作得很好,并且它是将生物识别技术识别添加到项目中的最经济实惠的方式。
Sofradir和ULIS将进行结构重组计划
动环监控系统在气象数据中心机房的应用
12月物联网行业重大事件汇总
Custom MMIC低相位噪声放大器的主要特性及应用
回顾高通正式拒绝博通千亿美元收购提议的相关事件分析
基于Arduino控制指纹传感器模块的指纹识别使用方案
三菱fx系列plc梯形图编程实例
机械师F57拆解,惊人的内部结构
国产超级跑车-前途K50:搭载两台电动机,最大续航里程将超过300km!新车有望于明年上市
此次博通收购高通事件中,谁才是最后的赢家
莫之比智能携手优秀合作伙伴共谋智慧门控新未来
2023中国互联网企业TOP100排行榜!
侧面指纹识别方案的技术难点
防窃电的技术措施
达闼科技打造出了5G+云端智能机器人服务新生态
推荐一款网页版的Verilog代码编辑仿真验证平台
电流探头无法消磁是什么原因?
电雷管测试仪的指标_电雷管测试仪的测试元件的接入
不掩对智能家电野心 三星发布智能灯泡
自动驾驶使用的毫米波雷达