0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Arduino控制指纹传感器模块的指纹识别使用方案

454398 来源:一板网 作者:风筝 2020-10-28 14:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本篇文章主要介绍如何在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()函数中完成的,

演示程序

现在,当保存指纹的人将手指放在传感器上时,它会显示一条问候消息。

总结

在本篇文章中,我们向您展示了如何使用指纹传感器模块:注册指纹并找到匹配的指纹。

有时,如果您的手指没有像保存时那样放置手指的话,特别是女性的指纹(我们不知道为什么会发生这种情况),传感器很难识别指纹。我们注意到,如果您将手指缓慢放在扫描仪上,传感器效果会更好。

在我们看来,指纹传感器模块工作得很好,并且它是将生物识别技术识别添加到项目中的最经济实惠的方式。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 指纹识别
    +关注

    关注

    43

    文章

    1753

    浏览量

    104431
  • 指纹传感器
    +关注

    关注

    6

    文章

    197

    浏览量

    64391
  • Arduino
    +关注

    关注

    190

    文章

    6514

    浏览量

    195904
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【CPKCOR-RA8D1】指纹扫描

    /jishu_2502298_1_1.html)指纹识别模块 :推荐使用AS608或其他兼容的光学指纹传感器LCD显示模块 :利用扩展板支持
    发表于 10-30 11:38

    怎么通过UART1对指纹识别模块控制

    今天主要介绍一下我们团队怎么通过UART1对指纹识别模块控制。由于E203 的UART通信资源有限(UART0、UART1、UART2),在mcu200t FPGA开发板上,uart0已用
    发表于 10-30 06:12

    秒级唤醒指纹识别模块方案

    随着智能安防与低功耗终端设备需求快速增长,指纹识别正加速向“小尺寸、微安级、秒级唤醒”演进。预计 2025 年市场规模将逼近 42 亿元。 “单节锂电池供电指纹锁”一站式解决方案,快速抢占智能
    发表于 10-23 14:16

    新品 | Unit Fingerprint2,高性能指纹识别传感器单元

    UnitFingerprint2是一款高性能指纹识别传感器单元,内部集成STM32核心主控与A-K323CP一体化指纹识别模组,采用半导体电容式传感器,具备指纹采集、特征提取、注册、比
    的头像 发表于 10-17 17:41 1058次阅读
    新品 | Unit Fingerprint2,高性能<b class='flag-5'>指纹识别传感器</b>单元

    用树莓派做一个指纹识别方案,难不难?

    让我们在树莓派单板计算机上解锁生物识别控制功能吧!生物识别技术利用每个人独有的、不易复制的生理或行为特征进行身份验证。地球上每个人的指纹都是独一无二的,让我们一起来探索
    的头像 发表于 08-09 13:14 634次阅读
    用树莓派做一个<b class='flag-5'>指纹识别</b><b class='flag-5'>方案</b>,难不难?

    应用在智能指纹门锁领域中具有嵌入式SRAM的指纹芯片

    指纹锁的工作原理是通过指纹传感器采集指纹图像,微处理处理数据并与预存模板比对,匹配成功则驱动机械装置解锁。
    的头像 发表于 07-22 09:34 431次阅读
    应用在智能<b class='flag-5'>指纹</b>门锁领域中具有嵌入式SRAM的<b class='flag-5'>指纹</b>芯片

    回收指纹模组收购指纹模组

    回收指纹模组、收购指纹模组、回收指纹连接排、指纹芯片、指纹模组、指纹排线、回收侧键
    发表于 05-26 13:55

    超声波指纹模组灵敏度飞升!低温纳米烧结银浆立大功

    、准确传输的基础。低温纳米烧结银浆的电阻率极低,能够为指纹传感器与电路之间提供高效的导电通路,大大减少了信号传输过程中的损耗和干扰,使得指纹识别的速度和准确性得到了显著提升 。 除了导电性能,低温纳米
    发表于 05-22 10:26

    回收三星S21指纹排线 适用于三星系列指纹模组

    深圳帝欧电子回收三星S21指纹排线,收购适用于三星S21指纹模组。回收三星指纹排线,收购三星指纹排线,全国高价回收三星指纹排线,专业求购
    发表于 05-19 10:05

    汉思新材料:创新指纹模组用胶方案,引领智能终端安全新高度

    在智能手机全面普及的今天,指纹识别技术已成为用户身份验证的核心模块,其可靠性与耐久性直接影响用户体验。作为电子封装材料领域的领军企业,汉思新材料凭借多年技术积累,针对指纹模组的复杂工艺需求,推出
    的头像 发表于 04-25 13:59 583次阅读
    汉思新材料:创新<b class='flag-5'>指纹</b>模组用胶<b class='flag-5'>方案</b>,引领智能终端安全新高度

    新品 | 智能触摸解锁ZW302x系列指纹模块 支持存储100枚指纹

    景来选择不同样式的指纹模块。新品首发福利,扫描上方二维码保存到淘宝或者天猫识别购买,前10个用户首单可立减8元。同时,也可以在京东、阿里巴巴、拼多多搜索“HLK-Z
    的头像 发表于 04-15 17:33 927次阅读
    新品 | 智能触摸解锁ZW302x系列<b class='flag-5'>指纹</b><b class='flag-5'>模块</b> 支持存储100枚<b class='flag-5'>指纹</b>

    WTV380-P(QFN32)语音芯片在智能电子指纹锁中的革新应用:小体积封装与多传感器集成的双重突破

    交互需求:操作引导(如指纹识别状态、低电量提醒)、安全告警(防撬、试错报警)等语音反馈。智能化扩展能力:集成传感器以增强安全性(如温度监测、防撬检测)和用户体验。
    的头像 发表于 03-13 08:58 761次阅读
    WTV380-P(QFN32)语音芯片在智能电子<b class='flag-5'>指纹</b>锁中的革新应用:小体积封装与多<b class='flag-5'>传感器</b>集成的双重突破

    第二代高通3D Sonic超声波指纹解锁亮相新机

    解锁解决方案,第二代高通3D Sonic传感器在多个方面实现了显著升级。首先,其指纹识别面积更大,能够更准确地捕捉用户的指纹信息,提高了解锁的准确性和便捷性。其次,该技术采用了更为先进
    的头像 发表于 01-21 14:56 1260次阅读

    RK3568国产芯教学实验箱:指纹识别实战案例

    )GUI的设计实现:LCD显示界面以及与用户的交互;(3)编辑控制代码;(4)编译程序;(5)运行程序。Qt程序指纹识别的Qt程序主要包括GUI的设计实现、指纹
    的头像 发表于 01-08 19:05 1173次阅读
    RK3568国产芯教学实验箱:<b class='flag-5'>指纹识别</b>实战案例

    EE-325:将Atmel指纹传感器AT77C104B与Blackfin处理连接

    电子发烧友网站提供《EE-325:将Atmel指纹传感器AT77C104B与Blackfin处理连接.pdf》资料免费下载
    发表于 01-05 09:42 0次下载
    EE-325:将Atmel<b class='flag-5'>指纹</b><b class='flag-5'>传感器</b>AT77C104B与Blackfin处理<b class='flag-5'>器</b>连接