主页
电子
模型
机器人
互动实验
电子
Arduino 光学指纹识别模块使用指南
robot
2020年5月6日
479
 本篇文章主要介绍如何在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 |VCC|5V(它也适用于3.3V) |TX|RX(数字引脚2,串行) |RX|TX(数字引脚3,串行) |GND|GND ### 安装Adafruit指纹传感器库 使用Arduino控制指纹传感器模块的最简单方法是使用该传感器的Adafruit库。按照下面的说明安装库: 1.首先下载[Adafruit指纹传感器库](https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/archive/master.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** 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.[点击此处](https://github.com/adafruit/Adafruit_SSD1306/archive/master.zip)**Adafruit GFX** 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.[点击此处](https://github.com/adafruit/Adafruit_SSD1306/archive/master.zip)**Adafruit_SSD1306** 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 #include #include #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); ``` 我们还需要导入指纹传感器所需的库:*Adafruit_Fingerprint.h***SoftwareSerial.h** ``` #include #include 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()****displayMainScreen****()****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()** ### 演示程序 现在,当保存指纹的人将手指放在传感器上时,它会显示一条问候消息。  ### 总结 在本篇文章中,我们向您展示了如何使用指纹传感器模块:注册指纹并找到匹配的指纹。 有时,如果您的手指没有像保存时那样放置手指的话,特别是女性的指纹(我们不知道为什么会发生这种情况),传感器很难识别指纹。我们注意到,如果您将手指缓慢放在扫描仪上,传感器效果会更好。 在我们看来,指纹传感器模块工作得很好,并且它是将生物识别技术识别添加到项目中的最经济实惠的方式。如果在遇到任何问题,欢迎在本帖下面进行回复。 转自 https://www.yiboard.com/thread-820-1-1.html
Arduino
Arduion基础教程
传感器
电路原理
0 评论
发表评论
搜索
公众号
少而好学,如日出之阳。
最新文章
模型
又一款乐高弹射器
robot
2021年2月17日
模型
MOC-2412 大皮卡
robot
2021年2月17日
模型
乐高烈火摩托车
robot
2021年2月17日
模型
乐高弹射器
robot
2021年2月17日
模型
乐高弩箭
robot
2021年2月17日
模型
乐高小手枪
robot
2021年2月17日
小编推荐
机器人
ROS机器人Diego 1#制作(三十二)机器视觉 -整合Tensorflow MNIST,玩数字识别
robot
2020年4月30日
50K
电子
树莓派制造低成本交互式显微镜
robot
2020年6月27日
50K
电子
树莓派制造的绘图机器人
robot
2020年4月13日
50K
电子
特斯拉+树莓派实现车牌识别检测系统
robot
2020年4月16日
50K
电子
三维激光扫描建模仪(基于树莓派)
robot
2020年4月11日
50K
发表评论