- Daftar komponen
- Diagram Sirkuit untuk Kunci Pintu Keypad Arduino
- Kode Arduino untuk Kunci Pintu Keypad Digital
- Perakitan dan Pengujian DoorLock Keypad Arduino
Seringkali, kita perlu mengamankan sebuah ruangan di rumah atau kantor kita (mungkin laboratorium dexter rahasia) sehingga tidak ada yang bisa mengakses ruangan tanpa izin kita dan memastikan perlindungan dari pencurian atau kehilangan aksesori dan aset penting kita. Ada begitu banyak jenis sistem keamanan yang ada saat ini tetapi di belakang layar, untuk otentikasi semuanya menyampaikan pada sidik jari, pemindai retina, pemindai iris, id wajah, pemindai lidah, pembaca RFID, kata sandi, pin, pola, dll. Matikan semua solusi yang murah adalah dengan menggunakan kata sandi atau sistem berbasis pin. Jadi, dalam proyek ini, saya telah membangun Kunci Pintu Keypad Arduino yang dapat dipasang ke salah satu pintu Anda yang ada untuk mengamankannya dengan kata sandi digital. Sebelumnya, kami juga telah membuat kunci pintu menarik lainnya yang tercantum di bawah ini.
- Kunci Pintu Arduino RFID
- Kunci Pintu Arduino Solenoid
- Kunci Kode Digital Raspberry Pi
- 555 Timer kunci pintu elektronik
Sebelum membangun proyek penguncian pintu kata sandi kami, pertama, kami perlu mengumpulkan komponen yang diperlukan dan kemudian melanjutkan dan mengikuti proses pembuatan langkah demi langkah.
Daftar komponen
- Arduino Uno / Pro / Mini atau Papan Custom menggunakan Mikrokontroler Atmega 328p
- LCD 16 x 2 (Layar Kristal Cair)
- Keypad matriks 4 x 3 atau 4 x 4 untuk Arduino
- Motor servo
- Loker pintu cetak 3D / loker pintu khusus
- Komponen tambahan untuk catu daya charger mobile 1 Amp 5 Volt
- Kotak plastik 4 '' / 6 '', kabel jumper, baut mur, casing plastik, dll.
Diagram Sirkuit untuk Kunci Pintu Keypad Arduino
Diagram rangkaian lengkap untuk proyek Kunci Pintu Keypad Digital berbasis Arduino kami ditunjukkan di bawah ini.
Pertama-tama, kita mulai dari otak proyek ini yaitu papan Arduino UNO. Papan Arduino terhubung ke LCD dan motor servo. Motor servo digunakan untuk mendorong (mengunci) atau menarik (membuka kunci) kait pada pintu. Diperlukan LCD 16 x 2 untuk menampilkan pesan Arduino, 16 x 2 artinya memiliki 16 jumlah kolom dan 2 jumlah baris. Jika Anda benar-benar baru dengan Modul Layar LCD 16x2, Anda dapat memeriksa tutorial Antarmuka LCD Arduino ini untuk mempelajarinya lebih lanjut.
Di sini, saya menggunakan motor servo 5v Towerpro SG90 untuk membuat loker pintu khusus kami. Ini adalah motor servo tingkat dasar dan bekerja dengan baik dengan Arduino tanpa sirkuit penggerak atau modul eksternal. Selain itu, harga motor servo ini sangat murah sehingga Anda dapat dengan mudah membelinya. Anda juga dapat memeriksa tutorial Kontrol Motor Servo Arduino ini untuk mempelajari lebih lanjut tentang motor servo dan cara kerjanya. Hubungkan motor servo dengan Arduino Digital pin D9 dan dengan catu daya 5volt. Motor servo ini memiliki total 3 jalur input (GND, + 5V & SIGNAL LINE).
Dalam proyek ini, saya telah menggunakan keypad matriks 4 x 4 (tetapi bagian keypad 4 x 4 tidak tersedia dalam fritzing untuk membuat representasi grafis ini), tetapi jangan khawatir karena keypad Matriks 4 x 3 juga berfungsi dengan baik dengan pengkodean saya. Kami membutuhkan keypad untuk memasukkan kata sandi dan mengunci loker pintu khusus kami secara manual. Ini terdiri dari 16 tombol (soft switch) 4 tombol di Baris (R1, R2, R3, R4) dan 4 tombol di Kolom (C1, C2, C3, C4) ketika tombol ditekan, itu membuat koneksi di antara baris yang sesuai dan kolom. Tabel di bawah ini menunjukkan cara menghubungkan Arduino Anda dengan Keypad.
Papan tombol | Arduino |
Pin 1 (baris 1) | Pin Digital1 |
Pin 2 (baris 2) | Pin Digital 2 |
Pin 3 (baris 3) | Pin digital 3 |
Pin 4 (baris 4) | Pin digital 4 |
Pin 5 (kolom 5) | Pin digital 5 |
Pin 6 (kolom 6) | Pin digital 6 |
Pin 7 (kolom 7) | Pin digital 7 |
Kode Arduino untuk Kunci Pintu Keypad Digital
Kode Kunci Pintu Arduino lengkap dapat ditemukan di bagian bawah halaman ini. Anda dapat langsung mengunggah kode, tetapi disarankan untuk membaca paragraf di bawah ini untuk memahami cara kerja kode. Selain itu, penting untuk memastikan Anda telah menambahkan pustaka keypad berikut ke Arduino IDE Anda agar berhasil menyusun kode. Untuk melakukan itu, cukup buka tautan di bawah dan unduh file ZIP. Kemudian pada Arduino IDE Anda, navigasikan ke Sketch -> Include Library -> Add.ZIP Library dan telusuri file yang baru saja Anda unduh.
- Perpustakaan Keypad Arduino
Setelah memasukkan semua file header dan library, tetapkan semua pin untuk LCD dan tentukan panjang password dan atur posisi awal servo ke 0. Setelah itu, ambil tipe data “char” untuk menyatakan nomor yang dapat menampungnya termasuk karakter nol.
// # sertakan
Dengan potongan kode ini (char Master = "123456";) - di bawah Char Master, saya mendeklarasikan kata sandi kunci pintu, kemudian menetapkan jumlah baris dan kolom di keyboard dan juga mendeklarasikan keyMaps dan terhubung dengan baris dan kolom. Di bawah pengaturan void, inisialisasi pin sinyal servo D9, status servo ditutup dan cetak nama proyek / perangkat / perusahaan dengan penundaan 3 detik pada waktu LCD untuk memulai perangkat.
void setup () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Pintu Arduino"); lcd.setCursor (0, 1); lcd.print ("- Lihat proyek--"); penundaan (3000); lcd.clear (); }
Di bawah fungsi loop, kondisi if-else sederhana ada di sana. Menurut status (terkunci otomatis), cetak "Pintu tertutup" dengan penundaan 3 detik dan servo putar ke posisi tutup, data pintu dihitung sebagai 1 jika loker pintu tetap terbuka dan jumlah data 0, buka servo putar ke posisi pergi 0 derajat ke 180 derajat dan untuk menutupnya beralih dari 180 ke 0. Fungsi servo buka dan tutup servo ditampilkan di bawah ini.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// berubah dari 0 derajat menjadi 180 derajat // dalam langkah 1 derajat myservo.write (pos); // beri tahu servo untuk pindah ke posisi dalam variabel 'pos' delay (15); // menunggu 15 ms sampai servo mencapai posisi}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// dari 180 derajat ke 0 derajat myservo.write (pos); // beri tahu servo untuk pindah ke posisi dalam variabel 'pos' delay (15); // menunggu 15 ms sampai servo mencapai posisi}}
Tulis posisi servo dengan jeda 15 detik untuk mencapai posisi servo. Di bawah fungsi void open, print pada LCD “Enter Password” maka syaratnya adalah password yang dimasukkan harus sama dengan custom key, di dalam body ini data dihitung dan menyimpan char ke dalam data array, bertambah dan input password tercetak pada LCD jika panjang data (jumlah kunci) dan kata sandi masukan cocok dengan Master Data (di mana terdapat kunci yang telah ditentukan sebelumnya). Kemudian sebagai tindakan LCD clear, servo drive, print pada LCD "Door is open" dan data counter di reset ke 0.
Jika input key tidak cocok dengan Data Master, sebagai tindakan pada LCD clear print pada LCD "Wrong Password" untuk memberi tahu dengan penundaan 1 detik dan tetap dalam posisi kunci dengan penghitung data set ke 1 dan melanjutkan proses ini dalam satu putaran.
if (data_count == Password_Lenght - 1) // jika indeks array sama dengan jumlah karakter yang diharapkan, bandingkan data dengan master {if (! strcmp (Data, Master)) // sama dengan (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Pintu Terbuka"); pintu = 0; } lain {lcd.clear (); lcd.print ("Kata Sandi Salah"); penundaan (1000); pintu = 1; } Hapus data(); }
Perakitan dan Pengujian DoorLock Keypad Arduino
Sekarang, paskan semuanya pada kotak plastik 4 inci / 6 inci dan berikan daya dengan pengisi daya ponsel, sejajarkan semuanya dengan baik menggunakan casing. Idealnya, saya bisa menggunakan pencetakan 3D untuk memasang kunci saya, tetapi setelah mendesain file saya, saya menemukan bahwa pencetakan 3D sangat mahal, jadi saya hanya memperbaiki servo terlebih dahulu, kemudian menghubungkan loker slide normal dengan servo saya menggunakan pelat logam dan ditutup dengan serat kaca, meskipun berfungsi dengan baik, namun kurang aman.
Jika Anda menginginkan keamanan lebih, maka Anda harus mencetak model kunci pintu 3D yang bekerja secara internal dengan servo ini. Anda dapat mengunduh file STL yang diperlukan dari tautan di bawah ini dan mencetaknya secara 3D jika Anda memiliki akses ke printer 3D.
Unduh file STL untuk Pencetakan 3D
File desain juga ditunjukkan pada gambar di bawah ini.
Pada awal proyek, saat kami menyalakannya untuk pertama kalinya, kami perlu memberikan nama proyek (Anda juga dapat menampilkan nama perusahaan) sehingga terlihat pintar dan eksklusif seperti perangkat komersial (seperti yang Anda lihat di gambar di bawah).
Dengan penundaan 3 detik, cepat kunci pintu dan langsung periksa tampilan untuk status kunci pintu seperti yang ditunjukkan pada gambar di bawah ini.
Saat Anda mengunci pintu secara manual dengan menekan tombol “#”, pertama kali akan terlihat Pintu ditutup selama 1 detik dan kemudian menampilkan Masukkan Kata Sandi. Di sisi lain, ketika pintu tidak terkunci dengan memasukkan kata sandi yang benar, itu menunjukkan Pintu Terbuka.
Jika pintu tetap dalam kondisi tidak terkunci, ini akan menampilkan - Pintu terbuka selama Anda mengunci pintu secara manual sesuai dengan kode. Saya telah memberikan kode dan Anda dapat menyesuaikan pengaturan dengan mengubah parameter tampilan kode sesuai kebutuhan. Anda juga dapat memeriksa pekerjaan lengkap dengan video yang ditautkan di bagian bawah halaman ini.