Tutorial Fingerprint Doorlock Arduino – Membuka Kunci Pintu Dengan Sidik Jari
Tutorial Sebelumnya:
Ok gan hari ini kita akan berguru menciptakan Fingerprint Doorlock Arduino, yang mana alat ini dapat dipakai untuk membuka kunci pintu Rumah, Kantor, Sekolah, Ruang Sekre, dan sebagainya dengan memakai Sidik Jari.
Lalu apa saja materi yang dibutuhkan:
- Arduino Uno [BELI]
- Sensor Fingerprint [BELI]
- Solenoid Doorlock [BELI]
- Breadboard [BELI]
- Kabel Jumper [BELI]
- Sensor Sentuh [BELI]
- IRF520 [BELI]
- Adaptor 12 Volt [BELI]
Jika bahan2nya sudah disiapkan, silahkan ikuti rangkaian dibawah ini:
Pastikan agan memasang rangkaian sesuai dengan gambar, kalau perlu cek kembali rangkaian yang udah agan buat dengan gambar.
WARNING: Sebelum ke Pemrograman agan perlu mendaftarkan (ENROLL) Jari agan dulu ke Sensor Fingerprint, Tutorialnya ada di posting sebelumnya silahkan buka:
Cara Praktis Program FingerPrint Dengan Arduino (ENROLL, FINGEPRINT, DELETE)
Jika sudah agan daftarkan, kini agan tinggal Upload Program Fingerprint Doorlock dibawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | #include <Adafruit_Fingerprint.h> #include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); byte sensorsentuh= 4; int nilaisensor; byte irf= 5; int idFinger; void setup(){ Serial.begin(9600); finger.begin(57600); pinMode(sensorsentuh, INPUT); pinMode(irf, OUTPUT); if (finger.verifyPassword()) { Serial.println("FingerPrint Sensor Ditemukan!"); } else { Serial.println("FingerPrint Sensor Tidak Ditemukan! :("); while (1) { delay(1); } } } void loop(){ FINGERPRINT(); nilaisensor= digitalRead(sensorsentuh); Serial.println(nilaisensor); if(idFinger >= 0){ digitalWrite(irf, HIGH); delay(5000); digitalWrite(irf, LOW); } if(nilaisensor == 1){ digitalWrite(irf, HIGH); delay(5000); digitalWrite(irf, LOW); } } //----------------------------------------------------FINGERPRINT----------------------------------------------// void FINGERPRINT(){ idFinger= getFingerprintIDez(); delay(50); } //----------------------------------------------------PROSES FINGERPRINT--------------------------------------// 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("Found ID #"); Serial.print(finger.fingerID); Serial.print(" with confidence of "); Serial.println(finger.confidence); return finger.fingerID; } //--------------------------------END FINGERPRINT----------------------------------------------// |
Selanjutnya silahkan tekan UPLOAD, hingga DONE UPLOADING.
Bagi yang masih kebingungan, aku sudah buat VIDEO TUTORIAL nya, dibawah ini:
Komentar
Posting Komentar