Doorlock With Face Recognition
by Fadhil Catrapraja in Circuits > Microcontrollers
184 Views, 1 Favorites, 0 Comments
Doorlock With Face Recognition
Di zaman yang sudah sangat modern ini kita seringkali merasa ketakutan akan keamanan ruangan maupun rumah kalian ataupun merasa bosan dengan model kunci pintu konvensional yang begitu-begitu saja. Oleh karena itu kami membuat sebuah model kunci berbasis pemindaian wajah yang dapat berguna sebagai alternatif maupun sebagai sistem keamanan utama dari rumah/ruangan kita.
Tujuannya sendiri adalah membuat alat kunci pintu yang mempunyai fitur deteksi wajah agar keamanan ruangan/rumah dapat terjaga serta memudahkan pengguna agar tidak lagi harus membawa kunci pintu kemana-mana.Pada project ini kami membuat sebuah doorlock(kunci pintu) yang menggunakan face recognition(pengenalan wajah) dimana alat ini berbasis ESP32-Cam yang akan menjadi controller utama dan juga sebagai camera untuk mengenali wajah user nanti. Alat ini juga dilengkapi dengan aplikasi berbasis flutter yang akan berguna sebagai penampil data user yang telah masuk ke pintu, dimana data user tersebut akan diambil dari database firestore.
Supplies
Berikut komponen yang digunakan pada sistem ini serta kegunaannya masing-masing.
esp32-cam; Berguna sebagai pengendali utama(sumber komputasi) pada project ini selain itu terdapat camera untuk memindai wajah yang terpasang pada board esp32-cam ini.
esp32-cam MB; Berguna untuk mengupload program dari komputer ke board esp32-cam.
Relay 1 channel 5V; Berguna sebagai trigger solenoid
Stepdown regulator; Berguna untuk menurunkan tegangan 12v dari power supply menjadi 5v ke esp32-cam
Resistor 220 Ohm; Berguna untuk menahan arus agar led tidak meledak
LED red and green; Sebagai indikator jika pintu tertutup atau terbuka
Solenoid; Sebagai mekanisme pengunci pintu
DC Jack; sebagai port untuk menyambungkan power supply 12v ke pcb
Connector 2 pin; untuk menyambungkan solenoid ke pcb
Level Logic converter; Mengganti tegangan 3.3v dari pin 3v3 esp32cam menjadi 5v ke relay
Active Buzzer; Sebagai indikator suara jika pintu terbuka
Filamen PLA; sebagai bahan utama case/housing
PCB Polos; Sebagai tempat menyatunya semua komponen
Pin header; sebagai tempat menyambungkan esp32-cam ke pcb agar lebih mudah dilepas pasang jika terdapat masalah dll
cable jumper; untuk menyambungkan pin common dan normally open relay ke pcb.
Schematic
Berikut adalah skematik dari sistem ini pin-pin yang tersambung dapat dilihat pada gambar di atas. Skematik dari pcb ini dibuat pada EasyEDA.
Block Diagram
Berikut adalah block diagram dari sistem ini dimana power supply 12v akan memberi tenaga ke solenoid serta ESP32-cam, tetapi sebelum ke board esp tegangan 12v dari psu diturunkan terlebih dahulu menjadi 5V dari 12V. PSU 12V juga memberi tenaga ke relay. Lalu ESP32-cam terhubung ke LED serta Buzzer dan sebelum menuju ke relay kita menyambungkan pion 3v3 esp32-cam ke logic inverter dahulu lalu dari logic inverter akan menjadi 5v menuju ke relay.
Flowchart
Seperti ini gambaran alur dari sistem ini.
Routing/footprint
Setelah melihat skematik maka kita bisa melihat footprint serta routing dari sistem ini, tampilan jalur biru pada gambar kedua adalah path yang akan dicetak pada sisi bawah pcb dan tampilan komponen pada gambar yang akan dicetak pada sisi atas pcb.
PCB
Setelah melakukan design di EasyEDA maka kita melakukan etching pada pcb dimana semua komponen akan bersatu pada pcb ini dan bisa dilihat pada gambar di atas bagaimana tampilan kedua sisi pcb.Solenoid lock nanti akan berada di luar pcb jadi hanya akan tersambung melalui kabel ke 2 pin connector berwarna putih tadi.
3D Design & Casing
Pada tahap pertama sebelum membuat 3d desainnya, lebih baik diukur terlebih dahulu ukuran pcb dan komponen-komponennya.
Berikut adalah spesifikasi ukuran dari 3d desain kami :
Ukuran tutup casing :
- Tinggi 12 mm
- Panjang 108 mm
- Lebar 98 mm
- Fillet biar tidak tajam sebanyak 0,5 mm
- Dikasih tutupan berbentuk lubang agar lebih ketat nyambungnya ke body sebesar 2 mm
- Lubang buat kamera sebesar 4 mm
- Lubang buat LED sebesar 3,5 mm
Ukuran body casing :
- Tinggi 17 mm
- Panjang 110 mm
- Lebar 100 mm
- Fillet biar tidak tajam sebanyak 0,5 mm
- Lubang baut body dengan tutup casing sebesar 2 mm
- Semua lubang baut body dengan tutup dicasing diberikan support agar tidak mudah patah
- Lubang baut PCB sebesar 2 mm
Pertama-tama kita membuat kotak terlebih dahulu sebagai casing body nya dan diberikan ketebalan(offset) sebesar 3 mm lalu selanjutnya buat lubang baut di tiap sisi casing body nya dan kasih sebuah support agar lubang baut tersebut tidak mudah patah, selanjutnya buat lubang baut untuk pcb nya. Jika sudah jangan lupa di buat lubang untuk dc jack dan kabel solenoid. Kemudian pada tengah-tengah ketebalan(offset) dinding casing dibuat lubang dan akan dimasukin garis pada tutup casing agar keamanan dari casingnya lebih terjaga lagi. Pada bagian ketebalan(offset) casing dibuat sebuah garis ditengah agar masuk ke dalam lubang yang ada pada dinding casing body. Pada tutup casing dibuat juga 4 buah lubang yang berdiri agar masuk ke dalam lubang baut yang ada pada sisi-sisi casing body nya agar semakin rapat dan ada 3 buah lubang, yang mana lubang ditengah berukuran 4 mm sesuai dengan radius kamera pada esp32-cam dan 2 lubang beradius 3,5 mm untuk masing-masing LED.
Mobile App & Database #1
Pada sistem ini juga terdapat aplikasi mobile berbasis flutter serta database berbasis firestore. Disini kami akan menjelaskan sedikit bagaimana aplikasi serta database bekerja dan bagaimana korelasinya. Perlu diingat bahwa sebelum menggunakan aplikasi mobile ini kita harus terlebih dahulu terhubung ke database firestorenya.
Pada file pertama yang bisa kita lihat pada gambar diatas(main.dart), file akan mengatur semuanya, dengan memberikan theme dan juga menginisialisasi firebase dan saat aplikasinya dibuka, maka akan langsung diarahkan ke screen()
Mobile App & Database #2
Pada saat aplikasi dibuka, maka screen pertamanya adalah seperti gambar diatas. Pada screen tersebut terdapat button yang jika ditekan maka akan mengarah ke MainScreen() yang berisi status doorlocknya.
Mobile App & Database #3
Screen ini akan menunjukkan siapa saja yang mengakses doorlocknya dan berhasil membukanya, aplikasi ini akan mengfetch datanya dari firestore. Data di firestore sendiri diambil dari ESP32-Cam yang memberikan nama user serta informasi waktu login.
Demo
Untuk demonstrasi bagaimana alat ini bekerja silahkan disimak pada video ini. Video juga telah kami lampirkan pada folder drive dibawah sebagai backup.
Attachment
Berikut kami lampirkan juga code dari flutter dan arduino.ide serta poster kami pada folder drive dibawah ini
https://drive.google.com/drive/folders/1dz_XPl--Zo0aySt1yIhhDPbV9GrPRYvR?usp=sharing
Jika masih kurang jelas terdapat juga lampiran link instructables saat sistem ini masih dalam tahap pengembangan
https://www.instructables.com/Doorlock-With-Biometric-Face-for-Security/
THANK YOU!
Terima kasih!
Dibuat oleh:
Fadhil Catrapraja Mus Saeho
Jalvin Chrisnanda
Robert