Kunci Pintu Otomatis menggunakan RFID dan Fingerprint

Kunci Pintu Otomatis menggunakan RFID dan Fingerprint

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 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 DE-ATMega2560-Embedded-Board sebagai output kontrol relay.

Aplikasi ini didisain dengan menggunakan:

Untuk penjelasan secara hardware dan library-library yang digunakan dari project ini telah saya bahas pada link-link berikut ini

Flowchart

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.

Kemudian dilanjutkan dengan proses verifikasi password yang ada di sensor fingerprint. Untuk setiap modul R305 Fingerprint pada kondisi awal akan memiliki password FF FF FF FF, oleh karena itu saat DE-ATMega2560-Arduino-Embedded-Board 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.

Berikutnya dilakukan proses perhitungan jumlah template sidik jari, apabila masih belum ada template sidik jari atau template = 0 maka tampilkan pesan “Lakukan pendaftaran sidik jari dengan ketik daftar”

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 “kartu ditolak” dan lanjut ke cek string di serial0 setelah delay 2 detik dan perintah “scan kartu anda”. 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.

Apabila perintah “daftar” 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).

 

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.

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.

Penjelasan Sketch / Source Code

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

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 “sensor belum mempunyai data. Ketik daftar untuk melakukan pendaftaran jari” tapi bila hasilnya sudah bukan nol, maka tampilkan jumlah template dan perintah “Scan Kartu Anda”.

 

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.

Apabila proses verifikasi sukses maka pintu akan terbuka 5 detik, namun bila tidak sukses maka ditampilkan pesan “kartu anda ditolak” dan “scan kartu anda”

Apabila data string terdeteksi di port serial0 dan = “daftar” 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.

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.

Sketch project ini dapat diperoleh di sini

Sedangkan untuk library-library yang digunakan dapat diperoleh di link ini

 

DELTA ELECTRONIC

 

Paulus Andi Nalwan, ST

Translate »