0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Arduino控制指紋傳感器模塊的指紋識別使用方案

454398 ? 來源:一板網 ? 作者:風箏 ? 2020-10-28 14:19 ? 次閱讀

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

指紋傳感器模塊簡介

通過使用下圖所示的指紋傳感器模塊可以使指紋識別更易于實現(xiàn),并且易于添加到您的項目中。這意味著指紋采集、注冊、比較和搜索是非常容易實現(xiàn)的。

這些模塊帶有FLASH存儲器,用于存儲指紋,并可與TTL串行接口的任何微控制器或系統(tǒng)一起使用。這些模塊可以添加到安全系統(tǒng)、門鎖、考勤系統(tǒng)等等。

產品規(guī)格

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

● 工作電源DC 3.6至6.0V

電流:《120mA

● 背光顏色:綠色

● 接口:UART

● 波特率:9600

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

● 錯誤接受率(FAR):《0.001%(安全級別3)

● 錯誤拒絕率(FRR):《1.0%(安全級別3)

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

傳感器模塊引腳

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

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

● DNC - 白線

● VCC - 紅線

● TX - 藍線

● RX - 綠線

● GND - 黑線

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

指紋傳感器Arduino

VCC5V(它也適用于3.3V)

TXRX(數(shù)字引腳2,串行)

RXTX(數(shù)字引腳3,串行)

GNDGND

安裝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開發(fā)板,并以9600的波特率打開串行監(jiān)視器。

3. 這時您應該輸入指紋的ID。由于這是您的第一個指紋,請在左上角輸入1,然后單擊Send按鈕。

4.將手指放在掃描儀上,然后按照串行監(jiān)視器上的說明進行操作。

系統(tǒng)會要求您將同一根手指放在掃描儀上兩次。如果您收到“Prints matched!”消息,如下所示,您的指紋已成功存儲。如果沒有,重復這個過程,直到你成功。

使用此方法存儲您想要的指紋。

找到一個匹配的指紋

你現(xiàn)在應該保存有幾個不同ID的指紋。要找到與指紋傳感器匹配的指紋,請按照下面的說明進行操作。

1. 在Arduino IDE中,轉到File 》 Examples 》 Adafruit Fingerprint Sensor Library 》 Fingerprint ,然后將代碼上傳到Arduino開發(fā)板。

2. 以9600的波特率打開串行監(jiān)視器。您應該會看到以下消息:

3. 在掃描儀中放置要識別的手指。

4. 在串行監(jiān)視器上,您可以看到與指紋匹配的ID。同時它也顯示了信心值 - 信心值越高,表示該指紋與存儲的指紋越相似。

項目示例 - 在OLED顯示屏上顯示匹配的指紋

在這個項目的例子中,我們將從兩個不同的人注冊兩個指紋。然后,我們會在OLED顯示屏上顯示相應的匹配問候消息。

所需的組件

對于這個例子,你需要以下幾部分:

● Arduino UNO 開發(fā)板

● 指紋傳感器模塊

● 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顯示屏,然后創(chuàng)建一個名為display的Adafruit_SSD1306對象。

#include 《Wire.h》

#include 《Adafruit_GFX.h》

#include 《Adafruit_SSD1306.h》

#define OLED_RESET 4

Adafruit_SSD1306 display(OLED_RESET);

我們還需要導入指紋傳感器所需的庫:Adafruit_Fingerprint.h和SoftwareSerial.h。

#include 《Adafruit_Fingerprint.h》

#include 《SoftwareSerial.h》

SoftwareSerial mySerial(2, 3);

以下行設置引腳2和3上的串行接口。引腳2為RX,引腳3為TX。

SoftwareSerial mySerial(2, 3);

然后,我們在之前設置的串行引腳上創(chuàng)建一個名為finger的Adafruit_Fingerprint對象。

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

接下來的兩行創(chuàng)建變量來保存指紋ID和IDname。

int fingerprintID = 0;

String IDname;

setup()函數(shù)

在setup()中,指紋傳感器和OLED顯示器都被初始化。我們還在串口監(jiān)視器上打印一條消息,以便我們知道指紋傳感器是否成功找到。

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()函數(shù)

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

演示程序

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

總結

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

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

在我們看來,指紋傳感器模塊工作得很好,并且它是將生物識別技術識別添加到項目中的最經濟實惠的方式。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 指紋識別
    +關注

    關注

    43

    文章

    1738

    瀏覽量

    102017
  • 指紋傳感器
    +關注

    關注

    6

    文章

    193

    瀏覽量

    63413
  • Arduino
    +關注

    關注

    187

    文章

    6453

    瀏覽量

    185927
收藏 人收藏

    評論

    相關推薦

    CW32模塊使用 指紋識別傳感器

    光學指紋識別傳感器采用了國內著名指紋識別芯片公司杭州晟元芯片技術有限公司(Synochip) 的 AS608 指紋識別芯片。芯片內置 DSP 運算單元,集成了指紋識別算法,能高效快速采
    的頭像 發(fā)表于 09-18 15:15 ?123次閱讀
    CW32<b class='flag-5'>模塊</b>使用 <b class='flag-5'>指紋識別傳感器</b>

    基于FPGA的指紋識別系統(tǒng)設計

    能力,實現(xiàn)了指紋圖像的采集、處理、存儲和比對等功能。通過選用先進的指紋傳感器和高效的算法,該系統(tǒng)在體積、速度和成本上均達到了優(yōu)化。
    的頭像 發(fā)表于 07-17 16:33 ?878次閱讀

    【開源獲獎案例】基于T5L智能屏的指紋識別解決方案

    ——來自迪文開發(fā)者論壇本期為大家推送迪文開發(fā)者論壇獲獎開源案例——基于T5L智能屏的指紋識別解決方案。該方案通過智能屏串口進行Modbus通訊,實現(xiàn)對指紋識別
    的頭像 發(fā)表于 07-06 08:13 ?149次閱讀
    【開源獲獎案例】基于T5L智能屏的<b class='flag-5'>指紋識別</b>解決<b class='flag-5'>方案</b>

    合泰單片機推出一款電容式指紋識別模塊應用方案

    Holtek指紋識別方案,使用電容式指紋識別傳感器,搭載HT32F12364作為主控MCU,HT32F12364配置256KB的Flash內存可以儲存上百枚指紋
    的頭像 發(fā)表于 05-06 10:49 ?541次閱讀
    合泰單片機推出一款電容式<b class='flag-5'>指紋識別</b><b class='flag-5'>模塊</b>應用<b class='flag-5'>方案</b>

    指紋掛鎖方案——采用ACH512或ACM32FP4指紋芯片和88*112傳感器,指紋識別速度快,BOM成本低

    方案概述指紋掛鎖方案采用ACH512或ACM32FP4指紋芯片和88*112傳感器,指紋識別速度
    發(fā)表于 03-12 11:46

    指紋傳感器的定義 指紋傳感器的應用

    指紋傳感器的定義 指紋傳感器的應用? 指紋傳感器是一種生物
    的頭像 發(fā)表于 03-05 17:35 ?2740次閱讀

    超聲波指紋識別技術原理 超聲波指紋識別和短焦區(qū)別

    。 超聲波指紋識別技術主要包括以下三個關鍵步驟:發(fā)射、接收和處理。首先,在發(fā)射步驟中,發(fā)射會產生一段特定頻率的聲波信號,并將其發(fā)送到物體表面。然后,在接收步驟中,接收會接收到物體表面反射和散射的聲波信號。最
    的頭像 發(fā)表于 02-03 14:06 ?5286次閱讀

    R307指紋識別模塊用戶手冊

    R307指紋識別模塊
    發(fā)表于 01-22 14:05 ?0次下載

    R307S 指紋識別模塊用戶手冊

    R307S 指紋識別模塊
    發(fā)表于 01-22 14:05 ?1次下載

    R306指紋識別模塊用戶手冊V1

    R306指紋識別模塊
    發(fā)表于 01-22 14:03 ?0次下載

    R303指紋識別模塊用戶手冊

    R303指紋識別模塊用戶手冊1
    發(fā)表于 01-22 14:02 ?1次下載

    使用stm32f103c8t6怎么做指紋識別?

    使用stm32f103c8t6怎么做指紋識別
    發(fā)表于 11-10 08:21

    基于linux系統(tǒng)的指紋識別

    電子發(fā)燒友網站提供《基于linux系統(tǒng)的指紋識別.doc》資料免費下載
    發(fā)表于 10-30 11:01 ?0次下載
    基于linux系統(tǒng)的<b class='flag-5'>指紋識別</b>

    屏下指紋識別技術工作原理 屏下指紋識別技術的難題是什么

    光學式指紋識別是在屏幕下方設置光學傳感器,通過發(fā)出近紅外光來識別用戶的指紋紋路。而超聲波式指紋識別就是在屏幕下方設置超聲波
    發(fā)表于 10-13 12:28 ?1474次閱讀
    屏下<b class='flag-5'>指紋識別</b>技術工作原理 屏下<b class='flag-5'>指紋識別</b>技術的難題是什么

    基于dsp的指紋識別模塊設計與實現(xiàn)

    電子發(fā)燒友網站提供《基于dsp的指紋識別模塊設計與實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-12 09:26 ?2次下載
    基于dsp的<b class='flag-5'>指紋識別</b><b class='flag-5'>模塊</b>設計與實現(xiàn)