0°

如何使用Arduino UNO创建指纹传感器门锁

简介

在这个项目中,你将能够学会如何使用指纹传感器模块,I2C LCD和Arduino UNO创建指纹控制门锁。

这个项目里,当用户扫描系统上记录的正确指纹时,此门锁打开门,但在检测到错误的指纹时门将保持关闭。

步骤一 材料清单

硬件:

  • Arduino UNO
  • 指纹传感器模块
  • I2C LCD
  • 继电器模块
  • 门锁
  • 7至12V电源
  • 若干杜邦线

软件:

  • Arduino IDE

步骤二 硬件搭建

首先,将指纹传感器连接到Arduino UNO。确保通过串行通信获得与Arduino配合使用的指纹传感器。

Arduino UNO上串行通信的默认引脚是电路板的引脚0(RXD)和引脚1(TXD),但我们将使用其他引脚进行串行通信。对于这个项目,我们将在代码中使用SoftwareSerial库。

以下是指纹传感器和UNO之间所需的连接:

如何使用Arduino UNO创建指纹传感器门锁

然后将I2C LCD模块连接到UNO。连接如下:

如何使用Arduino UNO创建指纹传感器门锁

然后,将继电器模块连接到Arduino UNO,如下面的电路图所示。

如何使用Arduino UNO创建指纹传感器门锁

为了控制门锁,你需要一个7到12V的电池 – 我使用了三个18650电池。

步骤三 开始编程

在编程之前,需要安装所需要的库文件。

指纹传感器和I2C LCD的库

要安装指纹传感器库,打开“库管理器”并输入“fingerprint”,您将看到Adafruit Fingerprint库弹出。单击第一个安装。

如何使用Arduino UNO创建指纹传感器门锁

您可以以相同的方式安装LiquidCrystal I2C库。搜索“LiquidCrystal I2C”,您将能够看到此库:

如何使用Arduino UNO创建指纹传感器门锁

安装好上面的库文件之后,我们就可以开始编程了。

在这个项目中,我们采用软串口进行通信。

软件串行库允许我们使用除默认0,1引脚之外的其他引脚进行串行通信。复制以下部分的代码并上传。

#include <Adafruit_Fingerprint.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3)

在设置功能中,设置指纹传感器工作的波特率。然后,检查指纹传感器是否正在与Arduino通信。

finger.begin(57600);

  if (finger.verifyPassword()) {
    lcd.setCursor(0, 0);
    lcd.print("  FingerPrint ");
    lcd.setCursor(0, 1);
    lcd.print("Sensor Connected");
  }
  else  {
    lcd.setCursor(0, 0);
    lcd.print("Unable to found");
    lcd.setCursor(0, 1);
    lcd.print("Sensor");
    delay(3000);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Check Connections");

    while (1) {
      delay(1);
    }
  }

现在我们需要设置你的实际指纹!以下代码部分供用户将手指放在指纹扫描仪上,指纹扫描仪将指纹转换为图像:

uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK)  {
    lcd.setCursor(0, 0);
    lcd.print("  Waiting For");
    lcd.setCursor(0, 1);
    lcd.print("  Valid Finger");
    return -1;
  }

  p = finger.image2Tz();
  if (p != FINGERPRINT_OK)  {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("  Messy Image");
    lcd.setCursor(0, 1);
    lcd.print("  Try Again");
    delay(3000);
    lcd.clear();
    return -1;
  }
p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK)  {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Not Valid Finger");
    delay(3000);
    lcd.clear();
    return -1;
  }

最终的程序:


步骤四 最终演示

如果识别不正确,它会要求再次扫描您的手指,以便获得一个良好的指纹图像,该图像将与系统中所有指纹的保存图像进行比较。在匹配图像后,门将打开。否则,门将保持关闭状态。

如何使用Arduino UNO创建指纹传感器门锁

将手指放在传感器上,以便系统可以创建指纹图片。

一旦系统收到清晰的指纹,您的门锁就可以使用了!

「点点赞赏,手留余香」

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