指紋辨識 FPM10A/AS608 +ARDUINO UNO

本文是記錄如何使用Arduino Uno微控制板來控制指紋辨識模組 FPM10A 以登錄、比對、刪除指紋及清空指紋資料庫。
FPM10A和AS608工作原理、函式庫、程式都相同。
FPM10A接3.3V、5V都可以,但是AS608只接受3.3V!

一、硬體連接

本例中所使用的指紋辨識模組FPM10A是利用序列埠傳輸資料,我們只會使用到紅(Vcc)、綠(Tx)、白(Rx)、黑(Gnd)四條線,黃藍兩線空接即可。

ArduinoUno 的D0和D1因為要預留給電腦用的通訊埠,所以我們使用SoftwareSerial(rxPin, txPin)指定rxPin=2, txPin=3,連接FPM10A的綠(Tx)、白(Rx)當通訊埠使用。

二、軟體安裝

安裝 Adafruit Fingerprint Sensor Library,點選 草稿碼/匯入程式庫/管理程式庫

輸入fingerprint後,就可以看到Adafruit fingerprint Sensor Library…,請點選安裝。

三、範例程式

指紋登錄程式: enroll

載入用來登錄指紋的範例程式enroll。預設Arduion的D0和D1給電腦的序列埠當Tx和Rx使用,指令SoftwareSerial mySerial(2, 3);則是指定D2和D3當Rx和Tx,用來連接FPM10A。

設定好開發板種類和序列埠編號後,將程式上傳到Arduino,上傳完成後請打開序列埠監控視窗,可看到如下的訊息。

請輸入1~127中一個號碼當新建指紋編號,本例中我輸人1,程式就在等待使用者將手指放到採集窗口。

採集完成後,會提示Place same finger again,也就是請使用者將同一根手指再放到採集窗口一次,以供確認。

完成後,程式則又進入等待輸入ID以登錄另一枚指紋資料。

指紋比對程式fingerprint

利用相同的方法,請試著載入範例程式fingerprint,它可以用來比對指紋是否有建檔。

程式上傳到Arduino後,請打開序列埠監控視窗,可看到如下的訊息。

上圖說明FPM10A內目前已有登錄一枚指紋,並且在等待輸入指紋以進行比對,請將你的手指靠上去FPM10A的採集窗口。

如果指紋比對不出結果,則一直維持等待指紋狀態;若有比對到資料庫內已登錄的指紋時,則會顯示 Found ID #1 with confidence of 89,中文的意思是:找到編號1的指紋,可信度為89。

利用相同的方法,請試著載入範例程式delete來刪除資料庫中的指紋,也可以試著載入範例程式emptyDatabase來清空資料庫。

============ 本文結束 ============

參考資料:
光學指紋模塊 ARDUINO 識別鎖 FPM10A FINGERPRINT SENSOR TUTORIAL

Guide to Fingerprint Sensor Module with Arduino (FPM10A)

cdn-learn.adafruit.com/downloads/pdf/adafruit-optical-fingerprint-sensor.pdf

https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/blob/master/documentation/ZFM-20_Fingerprint_Module.pdf

https://www.instructables.com/id/Arduino-Fingerprint-Lock/

作者: 黃聖順

黃聖順老師的隨便記記

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Follow by Email