风筝
发表于: 2022-4-1 16:45:41 | 显示全部楼层

在本篇文章中,我们将了解如何将GT511C3指纹传感器模块连接到Arduino开发板。市场上有很多种指纹传感器,在一些早期的项目中我们使用的是R305/R307光学指纹传感器,但GT511C3是一款更先进的指纹传感器,具有更高的精度和更快的响应时间。它没有使用光学方法,而是使用相机图像处理方法来检测指纹。


在本文中,我们将详细介绍GT511C3指纹传感器的详细信息和规格。我们还将学习如何使用这款指纹传感器的官方SDK来录取、验证和删除指纹。除此之外,我们将使用库将GT511C3指纹传感器与Arduino连接,然后学习录取和读取指纹的方法。


所需的组件

●    Arduino UNO开发板

●    GT511C3指纹传感器模块

●    JHD162A液晶显示屏

●    1K电阻

●    2K电阻

●    10K电位器

●    按钮

●    连接跳线

●    面包板


GT511C3指纹传感器模块

GT511C3指纹传感器模块与电容式和超声波指纹传感器模块有很大不同。 GT511C3模块使用光学传感器扫描指纹。这意味着它依靠用户指纹图像来识别其模式。该模块内部有一个摄像头,可以拍摄您的指纹照片。这些指纹由强大的内置HOLTEK ARM Cortex M3微控制器处理。该扫描仪模块最多可保存200次指纹扫描,并为每个指纹分配一个从0到199的ID。

GT511C3.jpg


该光学传感器模块设计用于轻松集成到具有串行UART接口的应用中。它有两根线用于TX和RX,两根线用于电源。传感器可在3.3V至6V电压范围内工作,通信引脚(Rx 和 Tx)可承受 3.3V 电压。


GT511C3模块也可以通过USB直接与计算机连接。使用USB连接时,可以使用SDK_DEMO.exe应用程序控制此模块。此应用程序允许您录取/验证/删除指纹。


GT511C3模块的特性和规格

●    工作电压:3.3V 至 6V DC

●    工作电流:< 130mA

●    工作温度:~20°C ~ +60°C

●    CPU:ARM Cortex M3内核(Holtek HT32F2755)

●    最大指纹数:200个指纹

●    传感器:光学传感器

●    串行通信:UART(默认:9600 波特)和USB v1.1

●    错误接受率 (FAR):< 0.001%

●    错误拒绝率 (FRR): < 0.01%

●    注册时间 < 3 秒(3 个指纹)

●    识别时间:<1.0秒(200个指纹)


GT511C3模块的引脚分布

GT511C3指纹传感器模块有 4 个引脚。

GT511C3-Module-Pinout.jpg

红色线是VCC,黑色是GND,绿色线是Rx,白色线是Tx。


GT511C3 SDK演示软件

要使用演示软件,首先将指纹传感器连接到USB转TTL模块。以下是USB转TTL FTDI模块与GT511C3指纹传感器的UART连接。

GT511C3-FTDI-Connection.jpg


将红色线连接到VCC,黑色线连接到GND,绿色线连接到Tx,白色线连接到Rx。

USB-to-TTL-FTDI-Module-GT511C3-Fingerprint-Sensor.jpg


有关软件的基本操作,请从此处下载演示软件开发套件 (SDK)。


在计算机上使用演示 SDK:

1.    下载 SDK_DEMO.exe

2.    解压文件夹。

3.    进入解压后的目录

4.    打开 SDK_DEMO.exe 可执行文件。

5.    在“串行端口号”下拉菜单中选择FTDI枚举的COM端口。

6.    在波特率的下拉菜单中选择 9600。

7.    单击打开按钮。


打开演示SDK后,界面如下所示:

SOFT1.jpg


连接后,它将显示固件版本和设备序列号。 并且有很多选项,例如录取、验证、识别、获取图像、删除、获取数据库等。您可以一个一个尝试所有选项。 最重要的菜单是删除指纹,只需单击“全部删除”选项即可完成。

跳转到指定楼层
风筝
发表于: 2022-4-1 16:57:56 | 显示全部楼层

GT511C3指纹传感器模块与Arduino的连接

让我们看看如何将指纹传感器与Arduino连接起来。 以下是该连接的简单示意图。

GT511C3-Fingerprint-Sensor-Arduino (1).jpg


我们使用了2K和1K电阻制作了分压器网络,因为传感器UART引脚仅承受3.3V电压。 将绿色线 (Rx) 连接到Arduino开发板的D5引脚,将色白线 (Tx) 连接到Arduino开发板的D4引脚。


GT511C3 Arduino库

现在介绍软件代码部分,我们可以使用Sparkfun编写的GT511C3 Arduino库。 该存储库包含Arduino使用GT511C3的示例代码。

GT511C3-Arduino-Library.jpg


该代码也已经对其他类型的指纹传感器进行了测试。 您可以下载此库并将其添加到Arduino IDE。


以下是录取指纹的代码:

  1. #include "FPS_GT511C3.h"
  2. #include "SoftwareSerial.h"

  3. FPS_GT511C3 fps(4, 5);          //    digital pin 5(arduino Tx, fps Rx)
  4.                                             //    digital pin 4(arduino Rx, fps Tx)
  5. void setup()
  6. {
  7.   Serial.begin(9600);           //default baud rate
  8.   delay(100);
  9.   fps.Open();
  10.   fps.SetLED(true);

  11.   Enroll();
  12. }


  13. void Enroll()
  14. {
  15.   int enrollid = 0;             // find open enroll id
  16.   bool okid = true;
  17.   while (okid == true)
  18.   {
  19.     okid = fps.CheckEnrolled(enrollid);
  20.     if (okid==true) enrollid++;
  21.   }
  22.   fps.EnrollStart(enrollid);   // enroll

  23.   
  24.   Serial.print("Press finger to Enroll #");
  25.   Serial.println(enrollid);
  26.   while(fps.IsPressFinger() == false) delay(100);
  27.   bool bret = fps.CaptureFinger(true);
  28.   int iret = 0;
  29.   if (bret != false)
  30.   {
  31.     Serial.println("Remove finger");
  32.     fps.Enroll1();
  33.     while(fps.IsPressFinger() == true) delay(100);
  34.     Serial.println("Press same finger again");
  35.     while(fps.IsPressFinger() == false) delay(100);
  36.     bret = fps.CaptureFinger(true);
  37.     if (bret != false)
  38.     {
  39.       Serial.println("Remove finger");
  40.       fps.Enroll2();
  41.       while(fps.IsPressFinger() == true) delay(100);
  42.       Serial.println("Press same finger yet again");
  43.       while(fps.IsPressFinger() == false) delay(100);
  44.       bret = fps.CaptureFinger(true);
  45.       if (bret != false)
  46.       {
  47.         Serial.println("Remove finger");
  48.         iret = fps.Enroll3();
  49.         if (iret == 0)
  50.         {
  51.           Serial.println("Enrolling Successfull");
  52.         }
  53.         else
  54.         {
  55.           Serial.print("Enrolling Failed with error code:");
  56.           Serial.println(iret);
  57.         }
  58.       }
  59.       else Serial.println("Failed to capture third finger");
  60.     }
  61.     else Serial.println("Failed to capture second finger");
  62.   }
  63.   else Serial.println("Failed to capture first finger");
  64. }


  65. void loop()
  66. {
  67.   delay(100);
  68. }
复制代码

您可以上传代码并进行测试。 上传代码后,打开串口监视器,将请求放置手指进行注册。

enroll.jpg


以下是读取指纹的代码

  1. #include "FPS_GT511C3.h"
  2. #include "SoftwareSerial.h"

  3. FPS_GT511C3 fps(4, 5);          //    digital pin 5(arduino Tx, fps Rx)
  4.                                             //    digital pin 4(arduino Rx, fps Tx)
  5. void setup()
  6. {
  7.   Serial.begin(9600);           //default baud rate
  8.   delay(100);
  9.   fps.Open();
  10.   fps.SetLED(true);
  11. }

  12. void loop()
  13. {

  14.   // Identify fingerprint test
  15.   if (fps.IsPressFinger())
  16.   {
  17.     fps.CaptureFinger(false);
  18.     int id = fps.Identify1_N();
  19.     if (id <200)
  20.     {
  21.       Serial.print("Verified ID:");
  22.       Serial.println(id);
  23.     }
  24.     else
  25.     {
  26.       Serial.println("Finger not found");
  27.     }
  28.   }
  29.   else
  30.   {
  31.     Serial.println("Please press finger");
  32.   }
  33.   delay(100);
  34. }
复制代码

您可以再次上传代码并进行测试。 上传代码后,打开串口监视器,将请求放置手指。 您可以放置您注册的手指,然后设备将读取指纹并进行验证对比。

verify.jpg

回复

使用道具 举报

风筝
发表于: 2022-4-1 17:15:56 | 显示全部楼层

使用Arduino和LCD显示屏的便携式指纹扫描仪

让我们再添加一个LCD显示屏,看看如何在LCD显示屏上观察串口监视器的数据。 以下是GT511C3指纹传感器和LCD显示屏与Arduino开发板连接的示意图。

Interface-GT511C3-Fingerprint-Sensor-Arduino.jpg


我们使用了一个按钮,连接到Arduino数字引脚2。按下该按钮时,传感器将进入录取指纹模式。 同时还连接了一个16x2字符的LCD显示屏,用于在与指纹传感器交互时显示所有发生的事情。

GT511C3-Arduino.jpg


您可以使用面包板进行组装零件。 也可以为此项目使用专门制作一个PCB。


在代码部分,我们将指纹录取和验证放一起。 我们还添加了LCD显示库并根据LCD要求修改了代码。完整代码如下:

main.rar (1.17 KB, 下载次数: 2)


选择Arduino开发板型号和COM端口并上传代码。 上传完成后,LCD会提示放置手指,同时指纹模块中的蓝色LED会亮起。


测试便携式指纹扫描仪

要录取您的指纹,请按下按钮。 然后扫描您的手指3次。完成后,指纹录取完毕。

Test1.jpg


要验证指纹,请将同一根手指放在指纹模块上。

Test3.jpg


以上就是使用GT511C3指纹传感器录取和验证指纹数据的方式。如果有任何问题,请随时在本帖下面回复。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1482



手机版|

GMT+8, 2024-4-28 14:50 , Processed in 0.042882 second(s), 7 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表