指紋辨識 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/

[已解決]在 LinuxMint17.3 中使用Arduino1.6.8,在上傳時出現 – ser_open(): can’t open device “/dev/ttyACM0″: Permission denied … 錯誤訊息

在 LinuxMint17.3中使用Arduino1.6.8,因為權限問題,在執行上傳時會出現-以下訊息螢幕擷圖存為 2016-04-27 17:56:32ser_open(): can’t open device “/dev/ttyACM0″: Permission denied …

所以請在終端機視窗執行下列指令:
$ sudo chmod a+rw /dev/ttyACM0

p.s.

  1. 每一次重新接上Arduino開發版就要再執行一次
    $ sudo chmod a+rw /dev/ttyACM0
  2. 有文章指出,還要執行下列指令,但我沒使用就已經OK了。
    $ sudo usermod -a -G dialout <username>

S2A 在win7中,以Transformer為中介,使用Scratch2.0控制Arduino Uno

  1. 安裝Transformer
    1. 請先進入 robot機器人體驗營宇宙機器人 kodorobot 的FB 按讚+分享喔!
    2. FB內有Transformer程式的下載網址。
    3. 下載並安裝(可選擇是否安裝應用程式捷徑於桌面)。
    4. 安裝完後,可在桌面開始/所有程式/kodorobot資料夾內發現Transformer捷徑。
  2. 接上 Arduino Uno板子
    1. 將Arduino Uno板,以USB線連接電腦。
    2. 如果沒有自動安裝driver,請先到Arduino官網下載並安裝Arduino主程式,裡面已內含驅動程式。
  3. 啟動Transformer
    1. 點選「S2A
    2. 選擇Arduino Uno板子所在的「介面」,本例中為COM7(Arduino Uno)
    3. 第一次需要勾選「自動燒錄韌體」,或韌體有被更動才需要再燒錄一次。
    4. 如果你的電腦中有安裝Scratch2.0的離線版的話,可勾選「打開Scratch(唯讀)」。
    5. 點選 [ 連線 ],大概十幾秒就可以配對成功,請保持此軟體開啟,關掉就斷線囉!
      Transformer
    6. 以瀏覽器連上SCRATCH官網
    7. 在Scratch網頁上按 檔案/上傳C:\Program Files\kodorobot\Transformer\ScratchFiles\s2a_fm_zh_tw.sb2 就可以開始使用囉!
      scratch圖中的程式主要是按綠旗開始程式後,先啟用數位腳位第13腳為輸出,進入廻圈後使LED燈每秒切換明滅狀態。可以看到Arduino Uno板上的LED燈明滅。
Follow by Email