Modul Sensor Fingerprint merupakan modul sensor yang berfungsi pemindaian identitas sidik jari manusia yang bersifat unik.
Karena manusia dilahirkan dengan sidik jari yang bersifat unik yang berarti tiap orang mempunyai sidik jari yang berbeda-beda dengan orang lain.
Untuk artikel kali ini akan dibahas bagaimana cara mengakses modul sensor Fingerprint tipe FPM10A dengan mudah.
Dikarenakan sensor ini mudah ditemukan ditoko elektronik atau marketplace dengan relatif terjangkau serta sudah terdapat library dalam proses pemrogramannya.
Penjelasan awal tentang Sensor Fingerprint
Secara umum prinsip kerja dari sensor sidik jari atau Fingerprint :
- Pendaftaran atau pengenalan sidik jari sebagai ID (Enroll)
- Database sebagai penyimpanan data pendaftaran ID (Storage)
- Perbandingan, pencarian dan pencocokan (Matching and Comparing)
Pada Modul sensor FPM10A dilengkapi dengan memori FLASH sebagai penyimpan sidik jari dan dapat diakses menggunakan mikrokontroler dengan komunikasi UART / Serial TTL.
Contoh pengaplikasian sensor ini, dapat diterapkan pada beberapa sistem antara lain :
- Sistem keamanan / Security System
- Attendace time / sistem waktu kehadiran pegawai, siswa, mahasiswa
- Kunci pintu / Lock door System seperti di hotel, dan lain sebagainya
Spesifikasi dari Sensor FingerPrint FPM10A
- Tegangan masukan kisaran 3.6 – 6.0 Vdc
- Minumum arus 120mA
- Warna backlight : hijau
- Komunikasi Interface : UART
- Baud rate : 9600 bps
- Untuk versi tipe Able to store 127 different fingerprints
- False Reject Rate (FRR) <1.0%
- False Accept Rate (FAR) <0.001%
- Safety level 5
Pinout Sensor memiliki 6 pin yang berlabel pada gambar di bawah ini.
Note NC adalah Not Connected sehingga kedua pinout tersebut tidak perlu dihubungkan.
Dikarenakan kabel konektor modul sensor bawaan kadang berwarna merah semua, dimana itu dapat membuat kesalahan dalam wiring ke microcontroller.
Disarankan menambahkan kabel pada ujung kabel dengan ketentuan :
- NC dipotong
- VCC : tetap merah
- GND : hitam
- TX : hijau
- RX : biru
Ataupun mengganti kabel konektor sensor tersebut menjadi berwarna seperti gambar dibawah ini
Tutorial Cara mengakses Modul sensor fingerprint FPM10A
Komponen yang dibutuhkan :
- Arduino Uno
- Sensor fingerprint FPM10A
- Kabel jumper
Library yang dibutuhkan : [ddownload id=”3289″]
Ekstrak Lіbrаrу diatas dan copy paste kan раdа mаѕіng – mаѕіng System Oреrаtіоn :
- PC (Wіndоwѕ) : Documents/Arduіnо/ lіbrаrіеѕ
- Mас : (hоmе dіrесtоrу)/Aррlісаtіоnѕ/Arduіnо (Shоw Pасkаgе Cоntеnt)/Cоntеntѕ/Jаvа/Lіbrаrіеѕ
- Lіnux : (hоmе dіrесtоrу)/ѕkеtсhbооk/lіbrаrіеѕ
Atau juga dapat mengikuti langkah ini, Instalasi melalui Manage libraries
- Pastikan sudah install arduino IDE dan terkoneksi dengan internet
- Buka arduino IDE dan arahkan kursor pada Sketch > include libraries > Manage libraries
- Ketikan kata kunci “Adafruit Fingerprint Sensor” dan klik install
- Cek apakah libraries sudah siap digunakan atau belum, dengan cara File > Examples > Adafruit Fingerprint sensor
Rangkaian sederhana untuk tutorial modul sensor ini
Keterengan Wiring:
Sensor Fingerprint FPM10A | Arduino UNO |
VCC | 5V out |
GND | GND |
TX | PIN D3 |
RX | PIN D2 |
Cara Enroll Sidik jari baru
Enroll adalah mendaftarkan fingerprint baru ke memori flash sensor.
Setelah modul sensor sidik jari dirangkai sepertI gambar diatas, ikuti langkah-langkah selanjutnya untuk proses enroll fingerprint.
Dan pastikan terlebih dahulu telah menginstal libraries Adafruit sensor fingerprint seperti langkah diatas.
- Buka Arduino IDE, arahkan kursor pada program “Enroll” pada libraries yang diinstal, caranya seperti dibawah ini
- Upload kode program tersebut, dan buka Serial Monitor dengan kecepatan baud komunikasi 9600
- Masukkan ID untuk sidik jari. Karena ini merupakan sidik jari pertama Anda, ketik 1 di sudut kiri atas, lalu klik tombol Kirim
- Tempatkan jarimu pada pemindai dan ikuti instruksi pada monitor serial
- Pada waktu pindai sidik jari 2 kali pengambilan, dan jika sudah terdapat “Stored!” menandakan bahwa sidik jari yang dipindai baru saja sudah tersimpan dan bisa diuji coba
Pengecekan Program Enroll setelah data tersimpan
Pengecekan ini dilakukan guna sebagai konfirmasi apakah data yang tersimpan sesuai tidak dengan pembacaan data.
Sebelumnya harus enroll beberapa sidik jari, bisa menggunakan ibu jari, telunjuk, jari tengah yang menunjukan pada ID yang berbeda.
Untuk menemukan kecocokan dengan sensor sidik jari, ikuti instruksi sebagai berikut :
- Buka Arduino IDE, arahkan kursor pada program “FingerPrints” pada libraries yang diinstal,
- Upload program dan buka serial monitor dengan baud komunikasi 9600
- Pindai jari ke depan sensor fingerprint
- Amati pembacaan pemindaian di serial monitor, jika terdapat ID #1 – #3 berarti sudah berhasil terbaca dari program enroll sebelumnya
Contoh Project sederhana Show Fingerprint data pada LCD 16×2
Dalam contoh proyek ini, sebelumnya didaftarkan 2 sidik jari dari dua orang yang berbeda. Kemudian pada saat dipindai akan muncul display yang menunjukan nama dari orang yang sedang terpindai pada saat itu di display LCD.
Komponen yang dibutuhkan :
- Arduino Uno
- Sensor fingerprint FPM10A
- Driver LCD PCF8574
- LCD 16×2
- Kabel jumper
Skema rangkaian
Library yang dibutuhkan : [ddownload id=”1207″]
Ekstrak Lіbrаrу diatas dan copy paste kan раdа mаѕіng – mаѕіng System Oреrаtіоn :
- PC (Wіndоwѕ) : Documents/Arduіnо/ lіbrаrіеѕ
- Mас : (hоmе dіrесtоrу)/Aррlісаtіоnѕ/Arduіnо (Shоw Pасkаgе Cоntеnt)/Cоntеntѕ/Jаvа/Lіbrаrіеѕ
- Lіnux : (hоmе dіrесtоrу)/ѕkеtсhbооk/lіbrаrіеѕ
Program secara keseluruhan
[sociallocker id=”1344″]
//www.nyebarilmu.com //2019 #include <Adafruit_Fingerprint.h> #include <LiquidCrystal_PCF8574.h> #include <Wire.h> #include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); int fingerprintID = 00; String IDname; Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); LiquidCrystal_PCF8574 lcd(0x20); // dapat dicek menggunakan i2c scanner atau i2c finder void setup(){ Serial.begin(9600); finger.begin(57600); //lcd setup lcd.begin(16, 2); // initialize the lcd lcd.setBacklight(255); if (finger.verifyPassword()) { lcd.setCursor(00, 00); Serial.println("Sensor ditemukan"); lcd.print("Sensor ditemukan"); delay(500); lcd.clear(); } else { Serial.println("no sensor :("); lcd.setCursor(00, 00); lcd.print("no sensor :("); delay(500); lcd.clear(); while (1) { delay(1); } } lcd.setCursor(00, 00); lcd.print("nyebarilmu.com"); lcd.setCursor(00, 1); lcd.print(" FingerPrint"); delay(3000); lcd.clear(); } void loop(){ lcd.setCursor(00, 00); lcd.print("Waiting"); lcd.setCursor(00, 1); lcd.print("FingerPrint"); fingerprintID = getFingerprintIDez(); delay(50); if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){ IDname = "nyebarilmu_1"; lcd.clear(); lcd.setCursor(00, 00); lcd.print("ID Name:"); lcd.setCursor(00, 1); lcd.print(IDname); delay(3000); fingerprintID = 00; lcd.clear(); } else if(fingerprintID == 2){ IDname = "nyebarilmu_2"; lcd.clear(); lcd.setCursor(00, 00); lcd.print("ID Name:"); lcd.setCursor(00, 1); lcd.print(IDname); delay(3000); fingerprintID = 00; lcd.clear(); } } int getFingerprintIDez() { uint8_t x = finger.getImage(); if (x != FINGERPRINT_OK) return -1; x = finger.image2Tz(); if (x != FINGERPRINT_OK) return -1; x = finger.fingerFastSearch(); if (x != FINGERPRINT_OK) return -1; //menulis di komunikasi serial Serial.print("Found ID #"); Serial.print(finger.fingerID); Serial.print(" with confidence of "); Serial.println(finger.confidence); return finger.fingerID; }
[/sociallocker]