電路圖和說明
首先,將指紋傳感器連接到Arduino UNO。確保通過串行通信獲得與Arduino配合使用的指紋傳感器。
Arduino UNO上串行通信的默認引腳是電路板的引腳0(RXD)和引腳1(TXD),但我們將使用其他引腳進行串行通信。對于這個項目,我們將在代碼中使用SoftwareSerial庫。
以下是指紋傳感器和UNO之間所需的連接:
然后將I2C LCD模塊連接到UNO。連接如下:
然后,將繼電器模塊連接到Arduino UNO,如下面的電路圖所示。
指紋門鎖電路圖。
為了控制門鎖,你需要一個7到12V的電池 - 我使用了三個18650電池。
下載項目庫
指紋傳感器和I2C LCD的庫很容易獲得。
要安裝Adafruit指紋庫,請打開在Arduino Library Manager中輸入“fingerprint”,你會看到Adafruit Fingerprint庫彈出。單擊安裝。
鍵入“指紋“進入Arduino庫管理器找到正確的庫。
你可以安裝LiquidCrystal I2C圖書館以同樣的方式。搜索“LiquidCrystal I2C”,您將能夠看到此庫:
在Arduino庫管理器中輸入“liquidcrystal I2C”以找到正確的庫。
代碼演練和解釋
讓我們看一下代碼的各個部分以及它們在項目中的用途。為方便起見,本文末尾可以下載該項目的完整代碼。
軟件串行庫允許我們使用除默認0,1引腳之外的其他引腳進行串行通信。復制以下部分的代碼并上傳。
#include
#include
#include
#include
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;
}
如果圖像混亂,它會要求再次掃描你的手指為了獲得良好的指紋圖像,將與您系統中所有指紋的保存圖像進行比較。在匹配圖像后,門將打開。否則,門將保持關閉。
將手指放在傳感器上,以便系統可以創建指紋圖片。
一旦系統收到明確的指紋,您的門鎖就可以使用了!
-
指紋傳感器
+關注
關注
6文章
196瀏覽量
63488 -
Arduino
+關注
關注
188文章
6471瀏覽量
187307 -
門鎖
+關注
關注
0文章
47瀏覽量
11935
發布評論請先 登錄
相關推薦
評論