0°

Arduino指纹传感器教程

我一直想尝试一个指纹传感器模块,以便更多地了解它的技术,并在我的一些项目中使用它,以便为它们增加生物识别安全性。 为了演示传感器的简单使用,构建了这个简单的项目。我已经将传感器连接到Arduino Nano,我也使用了小而快的1.44英寸彩色TFT显示屏。该项目要求有效的指纹才能解锁。当我将手指放在传感器上时,它会识别我的手指,将指纹图标变为绿色并欢迎我。如果我的女朋友将手指放在传感器上,它也会识别她,并显示一条带有她名字的欢迎信息。如果我将另一根手指放在传感器上,则项目不会解锁屏幕。它工作正常,你会看到,你可以在不到10分钟内建立这个项目!让我们看看如何实现这一目标!

第1步:获取所有零件

构建此项目所需的部件如下:

Arduino指纹传感器教程

Arduino Nano(uno也一样)

光学指纹传感器

1.44“彩色TFT显示屏

面包板

线若干

电源

第2步:1.44英寸液晶显示器

这个显示非常快。它使用ILI9163C驱动程序。它的分辨率为128×128像素,最多可显示260.000种颜色。它与Arduino一起使用非常方便

显示器使用SPI协议与Arduino板通信。我们只需连接8根电线即可使其工作。开始吧。

Arduino指纹传感器教程

与Arduino连接

Vcc▶Arduino的5V引脚

GND▶Arduino GND引脚

CS▶数字引脚10

RST▶数字销9

A0▶数字引脚8

SDA▶数字引脚11

SCK▶数字引脚13

LED▶Arduino的3.3V引脚

第3步:指纹传感器模块

指纹传感器模块体积小,构造精美,内部采用了一些先进的DSP(数字信号处理)芯片。

传感器的工作原理如下。它是一种光学传感器,意味着它可以分析手指的照片。然后,它渲染图像,进行一些计算,找到该手指的特征,然后在其内存中搜索具有相同特征的指纹。它可以在不到一秒的时间内实现所有这一切!

该模块可在其内存中存储多达1000个指纹,其错误接受率低于0.001%,这使其非常安全!大!

Arduino指纹传感器教程

第4步:连接部件

首先,我们必须连接指纹传感器模块。我们插入模块背面的电缆。请查看附带的照片。

指纹传感器连接

黑线▶Arduino GND

红线▶Arduino 5V

绿线▶数字引脚2

白线▶数字引脚3

我们现在准备将显示器连接到Arduino。

显示连接

Vcc▶Arduino的5V引脚

GND▶Arduino GND引脚

CS▶数字引脚10

RST▶数字销9

A0▶数字引脚8

SDA▶数字引脚11

SCK▶数字引脚13

LED▶Arduino的3.3V引脚

Arduino指纹传感器教程

第5步:项目代码

现在让我们看一下,项目的软件方面以及如何将指纹登记到模块的嵌入式存储器中以识别它们。

我们需要下载一些库。首先,我们需要Adafruit指纹库,Adafruit GFX库和Sumotoy的库来显示。

https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library

https://github.com/adafruit/Adafruit-GFX-Library

https://github.com/sumotoy/TFT_ILI9163C

首先,我们必须将注册示例上传到我们的Arduino板。我们转到文件 – >示例 – > Adafruit指纹传感器库 – >注册。通过这个示例程序,我们可以将指纹存储在模块的FLASH存储器中。我们上传草图,然后打开串行监视器。该程序要求我们输入要注册的ID。然后我们按照指示将指头放在传感器上两次并存储指纹!您可以通过这种方式存储多达1000个指纹!

现在,让我们加载我开发的代码。感谢Adafruit的图书馆,项目代码非常简单。让我们看一下代码的一小部分。

void loop() {  fingerprintID = getFingerprintID(); //We scan the fingerprint here
  delay(50);
  if(fingerprintID == 1) //We have found a valid fingerprint with the id 1
  {
    display.drawBitmap(30,35,icon,60,60,GREEN);
    delay(2000);
    displayUnlockedScreen();
    displayIoanna();
    delay(5000);
    display.fillScreen(BLACK);
    displayLockScreen();
  }   if(fingerprintID == 2) //We have found a valid fingerprint with the id 2  {
    display.drawBitmap(30,35,icon,60,60,GREEN);
    delay(2000);
    displayUnlockedScreen();
    displayNick();
    delay(5000);
    display.fillScreen(BLACK);
    displayLockScreen();
  }
}

我们启动传感器和显示器,每50ms检查传感器上的手指。如果传感器上有手指,我们会要求模块搜索手指是否已注册到其内存中。如果它在内存中找到指纹,则返回该指纹的ID。接下来,它会显示欢迎消息,并在几秒钟后再次锁定屏幕。

完整的代码:

Fingerprint

提取码:无,解压码:

下载
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
Arduino
Arduino
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论