當前位置:
首頁 > 最新 > 基於Arduino開發板的光學指紋識別模塊指南

基於Arduino開發板的光學指紋識別模塊指南

本篇文章主要介紹如何在Arduino開發板上使用指紋感測器模塊FPM10A。我們將向您介紹如何註冊新的指紋ID,以及如何查找匹配的指紋。

指紋感測器模塊簡介

通過使用下圖所示的指紋感測器模塊可以使指紋識別更易於實現,並且易於添加到您的項目中。這意味著指紋採集、註冊、比較和搜索是非常容易實現的。

這些模塊帶有FLASH存儲器,用於存儲指紋,並可與TTL串列介面的任何微控制器或系統一起使用。這些模塊可以添加到安全系統、門鎖、考勤系統等等。

產品規格

以下是我們使用的指紋感測器模塊的規格(您應該檢查供應商提供的感測器數據手冊或規格書 - 它們的參數應該差別太大):

● 工作電源:DC 3.6至6.0V

● 電流:

● 背光顏色:綠色

● 介面:UART

● 波特率:9600

● 安全等級:五級(從低到高:1、2、3、4、5)

● 錯誤接受率(FAR):

● 錯誤拒絕率(FRR):

● 能夠存儲127個不同的指紋

感測器模塊引腳

感測器模塊有六個引腳,如下圖所示。

這個項目中使用的指紋感測器模塊帶有顏色相同的導線,因此需要焊接易於區分的導線。我們建議根據引腳功能使用不同的顏色。在我們的示例中:

● DNC - 白線

● VCC - 紅線

● TX - 藍線

● RX - 綠線

● GND - 黑線

下表顯示了感測器與Arduino的連接方式。

安裝Adafruit指紋感測器庫

使用Arduino控制指紋感測器模塊的最簡單方法是使用該感測器的Adafruit庫。按照下面的說明安裝庫:

1. 首先下載Adafruit指紋感測器庫。下載完成後,您將得到一個.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,然後將代碼上傳到Arduino開發板。

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. 點擊此處下載Adafruit GFX庫。下載完成後,您將得到一個.zip文件;

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. 點擊此處下載Adafruit_SSD1306庫。下載完成後,您將得到一個.zip文件;

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()中,代碼在OLED顯示屏上顯示主屏幕 - 這是在displayMainScreen()函數中完成的。然後,代碼不斷檢查傳入的指紋。如果感測器找到保存的指紋,則Arduino將相應的ID保存在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()函數中完成的,

演示程序

現在,當保存指紋的人將手指放在感測器上時,它會顯示一條問候消息。

總結

在本篇文章中,我們向您展示了如何使用指紋感測器模塊:註冊指紋並找到匹配的指紋。

有時,如果您的手指沒有像保存時那樣放置手指的話,特別是女性的指紋(我們不知道為什麼會發生這種情況),感測器很難識別指紋。我們注意到,如果您將手指緩慢放在掃描儀上,感測器效果會更好。

在我們看來,指紋感測器模塊工作得很好,並且它是將生物識別技術識別添加到項目中的最經濟實惠的方式。如果在遇到任何問題,歡迎在本文下面進行留言。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 一板網電子技術論壇 的精彩文章:

TAG:一板網電子技術論壇 |