{"id":1065,"date":"2023-06-27T03:14:20","date_gmt":"2023-06-26T20:14:20","guid":{"rendered":"https:\/\/delta-electronic.com\/Design\/Hardwares\/?p=1065"},"modified":"2024-08-09T02:41:44","modified_gmt":"2024-08-08T19:41:44","slug":"kunci-pintu-otomatis-menggunakan-rfid-dan-fingerprint","status":"publish","type":"post","link":"https:\/\/delta-electronic.com\/Design\/Hardwares\/kunci-pintu-otomatis-menggunakan-rfid-dan-fingerprint\/","title":{"rendered":"Kunci Pintu Otomatis menggunakan RFID dan Fingerprint"},"content":{"rendered":"<p>Project berikut adalah kunci pintu otomatis yang dapat dibuka dengan menggunakan RFID ataupun fingerprint. Kunci pintu ini menggunakan solenoid yaitu elektromagnet yang digunakan untuk menggerakkan kunci mekanik dengan tegangan 12 volt yang diberikan. Tegangan tersebut akan mengalirkan arus pada kumparan solenoid dan menghasilkan energi magnet yang akan menarik kunci.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-1066\" src=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-scaled.jpg\" alt=\"\" width=\"2560\" height=\"2080\" srcset=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-scaled.jpg 2560w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-scaled-600x488.jpg 600w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-300x244.jpg 300w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-1024x832.jpg 1024w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-768x624.jpg 768w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-1536x1248.jpg 1536w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/Visio-Kunci-otomatiss-2048x1664.jpg 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/p>\n<p>Pada gambar di atas tampak Relay 1 kanal digunakan untuk memberikan tegangan 12 volt yang diperoleh dari adaptor 12V. Pada modul Relay 1 kanal ini sudah terdapat transistor yang mengendalikan relay tersebut sehingga kita tinggal menghubungkan input dari modul ini ke digital pin dari Arduino. Di sini kita gunakan digital 22 dari <a href=\"https:\/\/www.tokopedia.com\/delta-electronic\/de-atmega2560-embedded-board-atmega2560-arduino-development-modul\">DE-ATMega2560-Embedded-Board<\/a> sebagai output kontrol relay.<\/p>\n<p>Aplikasi ini didisain dengan menggunakan:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.tokopedia.com\/delta-electronic\/de-atmega2560-embedded-board-atmega2560-arduino-development-modul\">DE-ATMega2560-Embedded-Board<\/a> sebagai mikrokontroler<\/li>\n<li><a href=\"https:\/\/www.tokopedia.com\/delta-electronic\/solenoid-door-lock-12v-kunci-elektronik-otomatis\">Solenoid 12V<\/a> sebagai kunci elektronik<\/li>\n<li><a href=\"https:\/\/www.tokopedia.com\/delta-electronic\/rfid-reader-writer-rc-522-rc522-13-56-mhz-mifare\">RC-522<\/a> sebagai Modul RFID Reader<\/li>\n<li><a href=\"https:\/\/www.tokopedia.com\/delta-electronic\/r305-fingerprint-reader-recognition-sensor-sidik-jari-uart\">R305 Fingerprint<\/a> untuk Sensor Fingerprint<\/li>\n<\/ul>\n<p>Untuk penjelasan secara hardware dan library-library yang digunakan dari project ini telah saya bahas pada link-link berikut ini<\/p>\n<ul>\n<li><a href=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/aplikasi-pencatat-aktifitas-pemakaian-mesin-dengan-menggunakan-rfid-rc522-dan-esp-12f-untuk-upload-database-ke-cloud-server\/\">Antarmuka DE-ATMega2560-Embedded-Board dengan RFID RC522<\/a><\/li>\n<li><a href=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/antarmuka-fingerprint-r305-dengan-de-atmega2560-arduino-embedded-board\/\">Antarmuka DE-ATMega2560-Embedded-Board dengan R305 Fingerprint<\/a><\/li>\n<\/ul>\n<p><strong>Flowchart<\/strong><\/p>\n<p>Berikut adalah flowchart dari sketch project ini beserta penjelasannya. Pada kondisi awal, solenoid diset non aktif sehingga kunci akan dalam kondisi tertutup dan baudrate serial port dari arduino dan fingerprint diset pada nilai yang sama, yaitu 57600 bps dalam project ini.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-1079 aligncenter\" src=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/flowchart.jpg\" alt=\"\" width=\"640\" height=\"1952\" srcset=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/flowchart.jpg 640w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/flowchart-600x1830.jpg 600w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/flowchart-98x300.jpg 98w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/flowchart-336x1024.jpg 336w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/flowchart-504x1536.jpg 504w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Kemudian dilanjutkan dengan proses verifikasi password yang ada di sensor fingerprint. Untuk setiap modul <a href=\"https:\/\/www.tokopedia.com\/delta-electronic\/r305-fingerprint-reader-recognition-sensor-sidik-jari-uart\">R305 Fingerprint<\/a> pada kondisi awal akan memiliki password FF FF FF FF, oleh karena itu saat <a href=\"https:\/\/www.tokopedia.com\/delta-electronic\/de-atmega2560-embedded-board-atmega2560-arduino-development-modul\">DE-ATMega2560-Arduino-Embedded-Board<\/a> mengirimkan data tersebut untuk verifikasi password dan password sesuai berarti sensor fingerprint telah terdeteksi, namun bila tidak berarti sensor fingerprint belum terdeteksi atau password sudah pernah diganti.<\/p>\n<p>Berikutnya dilakukan proses perhitungan jumlah template sidik jari, apabila masih belum ada template sidik jari atau template = 0 maka tampilkan pesan &#8220;Lakukan pendaftaran sidik jari dengan ketik daftar&#8221;<\/p>\n<p>Proses selanjutnya adalah memeriksa apakah Tag RFID terdeteksi, bila tidak ada maka lanjut ke proses cek string di port serial0. Namun apabila Tag RFID terdeteksi maka akan diperiksa apakah serial number Tag sesuai dengan Master Tag. Bila tidak sesuai akan ditampilkan pesan &#8220;kartu ditolak&#8221; dan lanjut ke cek string di serial0 setelah delay 2 detik dan perintah &#8220;scan kartu anda&#8221;. Namun bila sesuai maka solenoid aktif dan kunci pintu akan dibuka selama 5 detik dan ditutup kembali. Di sini pengguna apabila merasa kunci pintu terbuka kurang lama maka delay dapat diubah, atau bisa juga ditambahkan sensor magnet di mana kunci baru akan menutup lagi saat pintu ditutup dan magnet terdeteksi.<\/p>\n<p>Apabila perintah &#8220;daftar&#8221; diterima di port serial0, maka proses pendaftaran jari dilakukan dengan terlebih dahulu menunggu adanya jari yang sudah pernah terdaftar di sensor untuk dapat melanjutkan proses pendaftaran. Apabila masih belum terdapat template jari yang terdaftar di sensor maka terlebih dahulu kita harus melakukan pendaftaran tanpa proses verifikasi dengan menggunakan contoh yang disediakan oleh library adafruit fingerprint di mana contoh tersebut dapat diperoleh di menu berikut (pastikan library adafruit fingerprint sudah terinstal).<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-1080 aligncenter\" src=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/enroll.png\" alt=\"\" width=\"757\" height=\"542\" srcset=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/enroll.png 757w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/enroll-600x430.png 600w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/enroll-300x215.png 300w\" sizes=\"(max-width: 757px) 100vw, 757px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Setelah jari yang pernah terdaftar terdeteksi maka proses pendaftaran jari dilakukan dengan terlebih dahulu memastikan bahwa ID yang didaftarkan bukan 0 ataupun 1. Mengapa demikian? karena ID0 memang tidak diijinkan dan ID1 di sini kita gunakan sebagai ID master fingerprint yang tidak boleh dihapus. Karena sebelum melakukan pendaftaran terlebih dahulu dilakukan scan fingerprint dan diwajibkan agar jari yang akan melakukan pendaftaran ini merupakan jari dari pengguna yang sudah tercatat dalam memori sensor. Setelah jari tersebut terdeteksi baru jari pengguna yang akan didaftarkan diinputkan 2x dan disimpan ke memori bila jari yang dibaca 2x tadi terdeteksi sebagai jari yang sama.<\/p>\n<p>Langkah berikutnya adalah proses scan finger print, tahap ini diproses setelah proses pendaftaran jari atau setelah proses cek string di port serial0 tidak menemukan adanya data string atau setelah proses diterimanya ID0 atau ID1 saat pendaftaran jari dilakukan. Apabila pada saat ini ditemukan jari yang sesuai, maka kunci pintu akan terbuka selama 5 detik dan kemudian menutup kembali. Namun apabila tidak ditemukan, maka proses akan kembali mendeteksi kartu setelah menjalani delay selama 50mS terlebih dahulu.<\/p>\n<p><strong>Penjelasan Sketch \/ Source Code<\/strong><\/p>\n<p>Sketch diawali dengan menentukan kondisi awal solenoid dengan kondisi HIGH yang membuat relay 1 kanal OFF dan kunci pintu menutup. Selanjutnya inisialisasi baudrate port serial0 dan fingerprint baudrate dengan baudrate yang sama yaitu 57600 bps dan dilanjutkan dengan verifikasi password untuk mendeteksi apakah sensor fingerprint terdeteksi di port serial1<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1082 aligncenter\" src=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch1.png\" alt=\"\" width=\"1264\" height=\"542\" srcset=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch1.png 1264w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch1-600x257.png 600w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch1-300x129.png 300w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch1-1024x439.png 1024w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch1-768x329.png 768w\" sizes=\"(max-width: 1264px) 100vw, 1264px\" \/><\/p>\n<p>Setelah sensor fingerprint ditemukan maka fungsi getTemplateCount() di library Adafruit_fingerprint dipanggil untuk menghitung jumlah template yang ada di sensor fingerprint. Bila masih nol maka tampilkan pesan bahwa &#8220;sensor belum mempunyai data. Ketik daftar untuk melakukan pendaftaran jari&#8221; tapi bila hasilnya sudah bukan nol, maka tampilkan jumlah template dan perintah &#8220;Scan Kartu Anda&#8221;.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1083\" src=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch2.png\" alt=\"\" width=\"1144\" height=\"542\" srcset=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch2.png 1144w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch2-600x284.png 600w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch2-300x142.png 300w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch2-1024x485.png 1024w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch2-768x364.png 768w\" sizes=\"(max-width: 1144px) 100vw, 1144px\" \/><\/p>\n<p>Di bagian loop diawali dengan terlebih dahulu memeriksa apakah ada tag yang terdeteksi, bila ada maka dilanjut dengan verifikasi tagID terhadap MasterTag. Namun bila tidak ada maka proses berlanjut ke pemeriksaan string pada port serial0.<\/p>\n<p>Apabila proses verifikasi sukses maka pintu akan terbuka 5 detik, namun bila tidak sukses maka ditampilkan pesan &#8220;kartu anda ditolak&#8221; dan &#8220;scan kartu anda&#8221;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1084 aligncenter\" src=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch3.png\" alt=\"\" width=\"1130\" height=\"542\" srcset=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch3.png 1130w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch3-600x288.png 600w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch3-300x144.png 300w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch3-1024x491.png 1024w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch3-768x368.png 768w\" sizes=\"(max-width: 1130px) 100vw, 1130px\" \/><\/p>\n<p>Apabila data string terdeteksi di port serial0 dan = &#8220;daftar&#8221; maka inputkan id dengan menggunakan fungsi readnumber(). Namun bila id =0 atau 1 akan ditolak karena id tersebut akan digunakan oleh id master. Bila bukan 0 atau 1 maka akan dilanjut dengan memanggil fungsi getFingerprintEnroll() hingga diperoleh jari yang valid dan tersimpan di memori sensor fingerprint.<\/p>\n<p>Setelah proses pembacaan string dilakukan maka dilanjut dengan scan sensor fingerprint untuk mendeteksi apakah sudah ditemukan jari yang sesuai untuk membuka kunci pintu. Bila sudah ditemukan maka kunci akan membuka selama 5 detik, namun bila belum maka delay 50mS dan kembali mendeteksi tag RFID lagi.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1085 aligncenter\" src=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch4.png\" alt=\"\" width=\"745\" height=\"180\" srcset=\"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch4.png 745w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch4-600x145.png 600w, https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-content\/uploads\/2023\/06\/fingerprint-rfid-arduino-sketch4-300x72.png 300w\" sizes=\"(max-width: 745px) 100vw, 745px\" \/><\/p>\n<p>Sketch project ini dapat diperoleh <a href=\"https:\/\/drive.google.com\/file\/d\/1Bwrcl-jpYU2-5W3JrBttqJKsLchzc2iL\/view?usp=sharing\">di sini<\/a><\/p>\n<p>Sedangkan untuk library-library yang digunakan dapat diperoleh di <a href=\"https:\/\/drive.google.com\/file\/d\/1sSuYQOyMQ75FE1jXrQCXANPdv6i56ctG\/view?usp=sharing\">link ini<\/a><\/p>\n<p><iframe title=\"Kunci pintu otomatis dengan menggunakan RFID RC522 dan Fingerprint R305\" width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/EakxVXqjkF8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<p><strong>DELTA ELECTRONIC<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Paulus Andi Nalwan, ST<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Project berikut adalah kunci pintu otomatis yang dapat dibuka dengan menggunakan RFID ataupun fingerprint. Kunci pintu ini menggunakan solenoid yaitu elektromagnet yang digunakan untuk menggerakkan kunci mekanik dengan tegangan 12 volt yang diberikan. Tegangan tersebut akan mengalirkan arus pada kumparan solenoid dan menghasilkan energi magnet yang akan menarik kunci. Pada gambar di atas tampak Relay [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[119],"tags":[94,102,103,104,105,184,96,95,185],"class_list":["post-1065","post","type-post","status-publish","format-standard","hentry","category-aplikasi-arduino","tag-arduino","tag-arduino-board","tag-arduino-ide","tag-bahasa-c","tag-c-language","tag-fingerprint","tag-microcontroller","tag-mikrokontroler","tag-sensor-sidik-jari"],"_links":{"self":[{"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/posts\/1065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/comments?post=1065"}],"version-history":[{"count":0,"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/posts\/1065\/revisions"}],"wp:attachment":[{"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/media?parent=1065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/categories?post=1065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/delta-electronic.com\/Design\/Hardwares\/wp-json\/wp\/v2\/tags?post=1065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}