● online
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol....
- Jasa Cetak PCB....
- Dimmer SCR 2000W Motor Speed Controller 220V AC PW....
- Relay Module 1 Channel Modul Relay 5V 10A 1 Channe....
- LM35DZ Sensor Suhu - LM35....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- B0505S-1W 5V to 5V converter DC DC power module co....
- Dimmer AC 4000W 220 Volt 4000 Watt 220V + Casing A....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Arduino, Cara Menggunakan Sensor Fingerprint AS608 Sidik Jari
Oke kali ini akan membahas seputar sensor fingerprint, dimana fungsi dari fingerprint ini adalah sebagai validasi data identitas dengan cara merekam gambar dari sidik jari kemudian disimpan dalam memori. Sensor fingerprint yang akan dibahas adalah jenis AS608, tampilannya bisa dilihat di bawah ini.

Komunikasinya menggunakan Serial TTL dengan 4 pin saja yang digunakan jika dihubungkan ke Arduino maupun kontroler lainnya yaitu VCC, GND, TX dan RX.
Spesifikasi :
– Resolusi: 500 dpi
– pasokan Arus : 60mA
– Supply tegangan: 3.3 V
– gambar sidik jari waktu masuk: 1.0 detik
– Window area: 15.3×18.2 MM
– Antarmuka komunikasi: USB/UART TTL
Dalam penggunaan sensor ini kita bisa menggunakan 3 proses :
- Enroll, proses pendaftaran sidik jari > disimpan pada memori.
- Pembacaan sidik jari yang terdaftar.
- Menghapus data sidik jari yang terdaftar.
Alat dan bahan yang dibutuhkan :
- Arduino Uno, BELI
- Sensor Fingerprint, AS608, BELI
- kabel jumper male to male, BELI
- Library Adafruit-Fingerprint-Sensor-master, download.
Rangkaian

Keterangan :
- GND ke GND Arduino
- +V dihubungkan ke 3.3V Arduino
- RX dihubungkan ke Pin 3 Arduino
- TX dihubungkan ke Pin 2 Arduino
Kabel yang didapat pada fingerprint bentuknya kecil-kecil sehingga butuh disambung dengan kabel jumper male dengan cara kabel jumper dipotong, kemudian disolder dengan kabel fingerprint bawaan. Hasilnya di bawah ini.

Sisa kabel yang lain abaikan saja, karena yang dipakai hanya 4 kabel saja. Oke selanjutnya kita ke tahap programnya, silahkan masukkan library yang sudah didownload > hubungkan Arduino ke laptop > pilih Board : Arduino/Genuino Uno > Port : pilih yang tampil, misal COM22.
ENROLL
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
uint8_t id;
void setup()
{
Serial.begin(9600);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\nProses Enroll/Pendaftaran Sidik Jari");
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Sensor Fingerprint Terdeteksi!");
} else {
Serial.println("Sensor Fingerprint tidak terdeteksi :(");
while (1) { delay(1); }
}
}
uint8_t readnumber(void) {
uint8_t num = 0;
while (num == 0) {
while (! Serial.available());
num = Serial.parseInt();
}
return num;
}
void loop() // run over and over again
{
Serial.println("Pendaftaran Sidik Jari siap digunakan!");
Serial.println("Masukan ID yang di pilih # (Dari 1 samapai 127)");
Serial.println("\nAnda akan menyimpan sidik jari ini dengan ID...");
id = readnumber();
if (id == 0) {// ID #0 not allowed, try again!
return;
}
Serial.print("Enrolling ID #");
Serial.println(id);
while (! getFingerprintEnroll() );
}
uint8_t getFingerprintEnroll() {
int p = -1;
Serial.print("Waiting for valid finger to enroll as #"); Serial.println(id);
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}
// OK success!
p = finger.image2Tz(1);
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;
}
Serial.println("Remove finger");
delay(2000);
p = 0;
while (p != FINGERPRINT_NOFINGER) {
p = finger.getImage();
}
Serial.print("ID "); Serial.println(id);
p = -1;
Serial.println("Tempatkan jari yang sama lagi!");
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.print(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}
// OK success!
p = finger.image2Tz(2);
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!
Serial.print("Creating model for #"); Serial.println(id);
p = finger.createModel();
if (p == FINGERPRINT_OK) {
Serial.println("Fingerprint Sesuai!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Komunikasi error");
return p;
} else if (p == FINGERPRINT_ENROLLMISMATCH) {
Serial.println("Fingerprints tidak sesuai");
return p;
} else {
Serial.println("Unknown error");
return p;
}
Serial.print("ID "); Serial.println(id);
p = finger.storeModel(id);
if (p == FINGERPRINT_OK) {
Serial.println("Tersimpan!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Komunikasi error");
return p;
} else if (p == FINGERPRINT_BADLOCATION) {
Serial.println("Tidak bisa menyimpan di penyimpanan.");
return p;
} else if (p == FINGERPRINT_FLASHERR) {
Serial.println("Error writing to flash");
return p;
} else {
Serial.println("Unknown error");
return p;
}
}
Upload sketch program di atas dan buka Serial Monitornya dengan baudrate 9600.

- Masukkan ID dari 1-127, disini dicontohkan dengan ID 4 > kemudian klik Send.
- Tempelkan jari yang akan didaftarkan > lepas.

- Setelah muncul “Tempatkan jari yang sama lagi!” > tempelkan lagi jari yang sebelumnya > jika sesuai maka akan muncul keterangan “Tersimpan!”.
Sampai tahap ini, data sidik jari sudah berhasil didaftarkan. Selanjutnya kita tes apakah sudah benar terdafatar, dengan cara upload sketch program di bawah ini.
DETEKSI SIDIK JARI
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{
Serial.begin(9600);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\nMendeteksi Fingerpint yang terdaftar");
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Sensor Terdeteksi!");
} else {
Serial.println("Sensor Tidak Terdeteksi :(");
while (1) { delay(1); }
}
finger.getTemplateCount();
Serial.print("Terdapat "); Serial.print(finger.templateCount); Serial.println(" data sidik jari yang terdaftar");
Serial.println("Tempatkan Jari Anda...");
}
void loop() // run over and over again
{
getFingerprintIDez();
delay(50); //don't ned to run this at full speed.
}
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) {
Serial.println("Found a print match!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println("Did not find a match");
return p;
} else {
Serial.println("Unknown error");
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;
}
// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// found a match!
Serial.print("ID yang ditemukan #"); Serial.print(finger.fingerID);
Serial.print(" dengan ketepatan "); Serial.println(finger.confidence);
return finger.fingerID;
}
Hasilnya . . . silahkan tempatkan jari anda.

Oke sip jadi sudah bisa ya untuk mendeteksi data yang sudah terdaftar. Sekarang mari kita coba hapus ID dengan mengupload sketch dibawah.
DELETE DATA
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{
Serial.begin(9600);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\nHapus Data Sidik Jari yang terdaftar");
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Sensor terdeteksi!");
} else {
Serial.println("Sensor tidak terdeteksi :(");
while (1);
}
}
uint8_t readnumber(void) {
uint8_t num = 0;
while (num == 0) {
while (! Serial.available());
num = Serial.parseInt();
}
return num;
}
void loop() // run over and over again
{
Serial.println("Masukkan ID # (dari 1 - 127) yang akan Anda hapus...");
uint8_t id = readnumber();
if (id == 0) {// ID #0 not allowed, try again!
return;
}
Serial.print("Deleting ID #");
Serial.println(id);
deleteFingerprint(id);
}
uint8_t deleteFingerprint(uint8_t id) {
uint8_t p = -1;
p = finger.deleteModel(id);
if (p == FINGERPRINT_OK) {
Serial.println("ID berhasil dihapus!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_BADLOCATION) {
Serial.println("Could not delete in that location");
return p;
} else if (p == FINGERPRINT_FLASHERR) {
Serial.println("Error writing to flash");
return p;
} else {
Serial.print("Unknown error: 0x"); Serial.println(p, HEX);
return p;
}
}
Hasil … masukkan data ID yang akan dihapus > klik Send.


Jika ada keterangan ID berhasil dihapus, tentunya proses penghapusan ID telah berhasil.
Cukup sekian pembahasan kali ini, semoga berhasil.
Arduino, Cara Menggunakan Sensor Fingerprint AS608 Sidik Jari
Blynk merupakan sebuah platform aplikasi android yang diperuntukan untuk berbagai kontroler hardware seperti arduino, esp8266, raspberry dsb untuk mengendalikan,... selengkapnya
Arduino tidak hanya bisa digunakan untuk menyalakan LED atau membaca input dari tombol, tetapi juga dapat dimanfaatkan untuk membuat simulasi... selengkapnya
Pernahkah Anda melihat suatu objek foto diatas air, lalu di atas air ada pantulan dari objek foto tersebut, nah... selengkapnya
Bagi Sebagian developer website atau yang sedang belajar javaScript, pasti familiar dengan istilah jQuery. Sebenarnya apa itu jQuery? Dan... selengkapnya
Motor servo adalah salah satu jenis motor listrik yang memiliki feedback berupa sensor posisi. Dengan adanya feedback tersebut, motor... selengkapnya
Pada artikel kali ini akan membahas tutorial mengakses sensor soil moisture pada Arduino. Nanti hasilnya akan ditampilkan dalam persen... selengkapnya
Software dari keluarga adobe, yaitu salah satunya Adobe Photoshop. Adobe Photoshop ini di ciptakan secara multi fungsi, mulai untuk... selengkapnya
Sensor ultrasonik merupakan sensor yang menggunakan gelombang ultrasonik. Gelombang ultrasonik yaitu gelombang yang umum digunakan untuk mendeteksi keberadaan suatu benda... selengkapnya
Seorang web programmer agar dapat mengembangkan website agar lebih menarik dan nyaman saat digunakan serta memenuhi kebutuhan user wajib... selengkapnya
Real Time Clock DS3231 adalah rangkaian elektronik yang berfungsi untuk menyediakan data waktu dan tanggal dengan tingkat presisi... selengkapnya
Spesifikasi: 20mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 219.000Compatibility: USB v2.0 standard Interface: Network: USB Series: RS-485 Port: an independent RS-485 Connector: Network: USB type A connector Series:… selengkapnya
Rp 38.800Modul sensor tegangan AC bolak balik 3 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 57.000ESP-WROOM-32 is Powered by Espressif’s most advanced SoC, the ESP-WROOM-32 features high performance, a wide range of peripherals, Wi-Fi and… selengkapnya
Rp 38.400Harga untuk 10pcs Resistance: 1K Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film
Rp 1.500Tang Crimping Press Skun Ratchet YTH SN-48B Model YTH SN-48B FOR NON INSULATED TERMINAL YTH SN-48B dengan mata Press 0.5… selengkapnya
Rp 150.000Ini yang Seri SN – DS3231 I2C RTC Module khusus DS3231SN – Include Baterai – Module jam digital – Keperluan… selengkapnya
Rp 34.90012A 300W DC Buck Step Down Converter CC CV Driver LED charge Battery Spesifikasi: Input Voltage: 5-40V Output Voltage: 1.2-35V… selengkapnya
Rp 39.400Specifications: Operating voltage: DC3-5V Operating current: less than 20mA Sensor Type: Analog Detection Area: 40mmx16mm Production process: FR4 double-sided HASL… selengkapnya
Rp 3.000TECHNICAL SPECIFICATIONS: – Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz – 2GB LPDDR4-2400 SDRAM – 2.4… selengkapnya
Rp 940.000

Saat ini belum tersedia komentar.