Anda di halaman 1dari 7

Membuka Pintu menggunakan Finger Print Arduino

.
Langsung saja kita siapkan bahan-bahan untuk membuat project ini.
1. C3 Modul Fingerprint atau JM-101B Modul Fingerprint
2. Arduino UNO
3. Modul Relay
4. WT5001M02 Mp3 Modul Sound atau DFPLAYER
5. MINI SPEAKER 0.5W 8OHM
6. Doorlock 12V
7. Adaptor 12V 1A
8. LCD 16x4
9. I2C LCD
10. Kabel Jumper
11. Breadboard
.
Pertama saya mau merangkai rangkaian LCD nya terlebih dahulu.

.
Kedua rangkaian modul sound (JIKA MENGGUNAKAN WT5001M02)
.(JIKA MENGGUNAKAN DFPLAYER)
.
Terakhir rangkaian relay solenoid doorlock
Setelah semua terangkai dengan benar, kita masuk ke pemrograman arduinonya.
Untuk mengakses modul fingerprint ini, kita harus menginisialisasikan terlebih dahulu sidik jari kita. Program
untuk inisialisasi tersebut sudah ada bawaan dari arduino. Yaitu program enroll di example. Kita buka saja,
file – example – adafruit fingerprint sensor library – enroll. Langsung saja upload program tersebut ke
arduino. Setelah selesai upload, buka serial monitor. Nah jika muncul tulisan seperti ini, kita ketik angka 1
kemudian enter. Lalu tempelkan sidikjari kita ke fingerprint. Sekali lagi kita tempelkan. Dengan demikian
inisialisasi sidikjari kita sudah selesai. Dan sudah terekam di modul fingerprint.

.
Library
- Fingerprint
- LCD I2C
.
Selanjutnya kita upload program fingerprint untuk doorlock (WT5001).
.
.
.
#include <Adafruit_Fingerprint.h>
#include <SPI.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); //Inisialisasi serial RX TX modul fingerprint
LiquidCrystal_I2C lcd(0x3f, 16, 4); //Inisialisasi I2C LCD
int doorLock = 8; //pin untuk sinyal doorlock
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{
Serial.begin(9600);
while (!Serial);
delay(100);
Serial.println("nnAdafruit finger detect test");
// 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); }
}
finger.getTemplateCount();
Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
Serial.println("Waiting for valid finger...");
lcd.begin();
lcd.clear();
pinMode(doorLock, OUTPUT);
digitalWrite(doorLock, HIGH);
lcd.setCursor(0,0); //set koordinat LCD
lcd.print("HALLO GAES");
delay(100);
lcd.setCursor(0,1);
lcd.print("WELCOME");
delay(100);
SPI.begin(); // Initiate SPI bus
Serial.write(0x7E);
Serial.write(0x03);
Serial.write(0xA7);
Serial.write(0x1F); // volume max
Serial.write(0x7E);
}
void loop()
{
getFingerprintID();
delay(50);
}

//------------------------------------------------------------
uint8_t getFingerprintID() {
uint8_t p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println("No finger detected");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
// OK success!
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}

// OK converted!---------------------------------------------
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) { //jika fingerprint terdeteksi
Serial.println("Found a print match!");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("MASUK PAK EKO");
delay (100);
suara1();
digitalWrite(doorLock, LOW);
lcd.setCursor(0,1);
lcd.print("AutoLock ");
for(int i=5; i>0; i--)
{
lcd.setCursor (10,1); lcd.print(i);
delay (1000);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("HALLO GAES");
delay(100);
lcd.setCursor(0,1);
lcd.print("WELCOME");
delay(100);
digitalWrite(doorLock, HIGH);
}
else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
}
else if (p == FINGERPRINT_NOTFOUND) { //jika fingerprint salah
Serial.println("Did not find a match");
suara2();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BELUM BERUNTUNG");
delay (100);
lcd.setCursor(0,1);
lcd.print("COBA LAGI");
delay (2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("HALLO GAES");
delay(100);
lcd.setCursor(0,1);
lcd.print("WELCOME");
delay(100);
return p;
}
else {
Serial.println("Unknown error");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("??");
delay (100);
return p;
}

// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);

return finger.fingerID;
}
//-----------------------------------------------------------------------------
void suara1()
{
Serial.write(0x7E);
Serial.write(0x04);
serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x01); // track number 001.mp3
Serial.write(0x7E);
delay(100);
}
void suara2()
{
Serial.write(0x7E);
Serial.write(0x04);
Serial.write(0xA0); // A0 for SD card
Serial.write((byte)0x00);
Serial.write(0x02); // track number 002.mp3
Serial.write(0x7E);
delay(100);
}
.
.
.
Oke setelah selesai di upload langsung saja kita coba rangkaiannya.
ketika saya tempelkan sidik jari yang tadi sudah terinisialisasi, modul fingerprint akan mendeteksi dan akan
menjalankan doorlock. LCD akan menampilkan indicator. Dan Speaker akan mengeluarkan suara peringatan.
Suara ini saya ambil dari voice generator online. Silahkan bisa kalian cari di google.

Kemudian jika saya tempelkan sidikjari yang belum terinisialisasi, modul fingerprint akan mendeteksi
kesalahan sidikjari / error. Maka doorlock tidak akan membuka. LCD akan menampilkan indicator seperti ini.
Dan Speaker akan mengeluarkan suara peringatan.

Ya itu tadi project sistem membuka pintu menggunakan modul fingerprint / sidik jari.

Anda mungkin juga menyukai