Membuat Password Pengaman Pintu Menggunakan Arduino dan Keypad
Assalamualaikum.
Salam Sejahtera Untuk Kita Semua Sobat …
Mencegah lebih baik dari pada mengobati … Yups mungkin kata tersebut sangatlah tepat untuk diterapkan dikehidupan sehari-hari. Demikian juga dapat diterapkan dalam segi keamanan. Kalau pintu ruma dibobol maling tentu bisa membuat urusan kacau balau bukan ? Nah lebih baik kita buat pencegahannya dengan memasang pengaman seperti kunci, gembok, password, dan lain-lain. Nah pada artikel kali ini, NP akan berbagi tutorial untuk membuat password pengaman pintu. Komponen yang dipergunakan tentunya simple sob, cukup menggunakan keypad 4×4, selenoid door lock sebagai penguncinya, relay sebagai pemicu, serta tak lupa Arduino wajib kita sertakan sebagai board microcontroller utamanya. Mari disimak baik-baik tutorialnya sob .
Oh iya selenoid door lock merupakan selenoid yang bekerja dengan memanfaatkan sifat magnetic. Jadi tonjolan selenoid akan memanjang dalam kondisi normal dan tonjolan tersebut akan masuk ke dalam jika dialiri listrik dengan tegangan 12V dan aru skitar 2A. Untuk memicu selenoid tersebut, maka kita membutuhkan relay yang akan menghubungkan selenoid dengan adaptor listrik.
Berikut ini komponen dan software yang harus dipersiapkan :
- 1 buah Arduino (Bisa menggunakan jenis Arduino UNO, MEGA, NANO, MINI, dan lain sebagainya, bisa diperoleh Di Sini)
- 1 buah Keypad 4×4 (bisa diperoleh Di Sini)
- 1 buah Relay Module 1 Channel (bisa diperoleh Di Sini)
- 1 buah Selenoid Door Lock (bisa diperoleh Di Sini)
- 1 buah Adaptor 12V 2A (bisa diperoleh Di Sini)
- Breadboard/Projectboard jika diperlukan (Bisa diperoleh Di Sini)
- Kabel jumper secukupnya (Bisa diperoleh Di Sini)
- Software Arduino IDE (Jika belum punya, maka download Di Sini)
- Library Keypad.h (Jika belum punya, maka download Di Sini)
- Library Password.h (Jika belum punya, maka download Di Sini)
- Dan cara menambah library program Arduino bisa dibaca Di Sini
Dan jika ingin belajar bagaimana cara menggunakan Arduino bagi pemula, silahkan download Ebook nya Di Sini
Dan berikut ini adalah skema rangkaiannya :
Keterangan Rangkaian :
Bisa Menggunakan Segala Jenis Arduino (UNO, NANO, MEGA, MINI, dll), karena penomoran pinnya sama. Tinggal cocokkan Saja nomor Pin-Pin nya.
Pin 1 dari keypad ==> pin 9 Arduino
Pin 2 dari keypad ==> pin 8 Arduino
Pin 3 dari keypad ==> pin 7 Arduino
Pin 4 dari keypad ==> pin 6 Arduino
Pin 5 dari keypad ==> pin 5 Arduino
Pin 6 dari keypad ==> pin 4 Arduino
Pin 7 dari keypad ==> pin 3 Arduino
Pin 8 dari keypad ==> pin 2 Arduino
Kaki COM pada Relay ==> pin 12 Arduino
Kaki VCC pada masing-masing komponen hubungkan ke sumber positif power (dihubungkan ke pin 5V Arduino)
Kaki gnd/ground pada masing-masing komponen hubungkan ke sumber negatif power (dihubungkan ke pin gnd Arduino)
Setelah itu, silahkan upload program seperti di bawah ini pada software Arduino IDE milik sobat, dan tata cara upload program ke Arduino bisa sobat baca Di Sini :
// --------- Membuat Password Pintu Rumah dengan Arduino dan Keypad ---------- // // --------- Berbasis Arduino, Keypad, dan Flame Selenoid Door Lock --------- // // -------------------- Sumber : www.boarduino.web.id ----------------------- // // --------------------- Diedit oleh : M. Nofgi Y.P.U. ---------------------- // // --------------------- www.nofgipiston.wordpress.com --------------------- // // memanggil library password dan keypad #include <Password.h> #include <Keypad.h> // inialisasi pin relay untuk selenoid door lock int Relay1 = 12; // inialisasi password yang ditentukan Password password = Password( "1234" ); // ubah password di sini // inialisasi jumlah baris dan kolom keypad const byte baris = 4; // jumlah baris const byte kolom = 4; // jumlah kolom // deklarasi matrix keypad char keys[baris][kolom] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; // inialisasi pin untuk keypad byte barisPin[baris] = {9, 8, 7, 6}; byte kolomPin[kolom] = {5, 4, 3, 2}; // membuat objek untuk pembacaan keypad Keypad keypad = Keypad( makeKeymap(keys), barisPin, kolomPin, baris, kolom ); // ****************** PROGRAM DEFAUT/SETTING AWAL ******************* // void setup() { // inialisasi baud rate serial monitor Serial.begin(9600); // inialisasi status I/O pin pinMode(Relay1, OUTPUT); // deklarasi awal status relay digitalWrite(Relay1, HIGH); // kondisi awal selenoid menutup // deklarasi variabel keypad event keypad.addEventListener(keypadEvent); } // *************************** PROGRAM AWAL ************************** // void loop() { // membaca keypad keypad.getKey(); } // ********************* PROGRAM TOMBOL UNTUK ENTER DAN RESET ******************* // void keypadEvent(KeypadEvent eKey) { switch (keypad.getState()) { case PRESSED: Serial.print("Enter Serial.println(eKey); delay(10); Serial.write(254); switch (eKey) { case 'A': Login(); delay(1); break; // tombol A untuk login case 'B': password.reset(); delay(1); break; // tombol B untuk reset default: password.append(eKey); delay(1); } } } // ********************** PROGRAM LOGIN ************************* // void Login() { // jika password benar if (password.evaluate()) { // menulis pada serial monitor Serial.println("Password BENAR"); Serial.write(254); // relay aktif digitalWrite(Relay1, LOW); } // jika password tidak benar atau salah else { // menulis pada serial monitor Serial.println("Password SALAH ... !!!"); Serial.write(254); delay(10); // relay tidak aktif digitalWrite(Relay1, HIGH); } }
Dan berikut ini adalah video demonstrasinya di channel Youtube saya , Jangan lupa untuk klik “Like” dan “Subscribe” ya sobat .
Jadi untuk membuka selenoid door lock tersebut, maka kita perlu memasukkan dahulu password yang benar. Setelah kita pencet password, selanjutnya kita wajib pencet tombol “A” untuk login. Jika password benar, maka selenoid akan terbuka. Jika salah, maka selenoid akan tetap menutup. Untuk kembali memasukkan ulang password, kita harus memencet tombol “B” sebagai tombol “Reset”. Jadi sebelum memasukkan password, kita pencet dahulu tombol “B”.
Penjelasan singkat dari program di atas yakni :
Pertama kita deklarasikan pin yang kita gunakan untuk mengakses keypad. Pin ini bebas, bisa menggunakan segala nomor pin digital dari Arduino.
// deklarasi matrix keypad char keys[baris][kolom] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; // inialisasi pin untuk keypad byte barisPin[baris] = {9, 8, 7, 6}; byte kolomPin[kolom] = {5, 4, 3, 2};
Lalu kita atur tombol khusus untuk login dan reset saat kita memasukkan password, seperti ditunujukkan oleh program di bawah ini :
switch (eKey) { case 'A': Login(); delay(1); break; // tombol A untuk login case 'B': password.reset(); delay(1); break; // tombol B untuk reset default: password.append(eKey); delay(1);
Tombol untuk login dan reset bisa dirubah sesuka hati sobat .
Nah untuk program di bawah ini adalah program eksekusi jika password yang dimasukkan benar. Jika password benar, maka pin menuju relay akan bernilai logic “LOW” atau “0” dan relay akan aktif (relay merupakan active LOW). Jadi saat relay aktif, akan menghubungkan power dari adaptor ke selenoid door lcok sehingga selenoid membuka.
// jika password benar if (password.evaluate()) { // menulis pada serial monitor Serial.println("Password BENAR"); Serial.write(254); // relay aktif digitalWrite(Relay1, LOW); }
Namun jika password salah, maka pin menuju relay akan bernilai logic “HIGH” atau “1” sehingga relay pun mati dan selenoid door lock akan kembali menutup.
// jika password tidak benar atau salah else { // menulis pada serial monitor Serial.println("Password SALAH ... !!!"); Serial.write(254); delay(10); // relay tidak aktif digitalWrite(Relay1, HIGH);
Nah jika sobat ingin mengganti angka dari password tersebut, maka silahkan rubah pada program di bawah ini :
// inialisasi password yang ditentukan Password password = Password( "1234" ); // ubah password di sini
Yups demikian tutorial yang dapat NP share tentang membuat password pengaman pintu menggunakan keypad dan selenoid door lock. Kedepannya alat ini dapat dikembangkan dengan menambahkan LCD sebagai display atau dapat juga ditambahkan buzzer sebagai alarm jika password salah … Silahkan dikembangkan sesuai kreatifitas sobat …
Jangan bosan-bosan belajar dan berlatih dengan Arduino ya sob … Karena banyak sekali alat-alat serta kreatifitas yang dapat kita buat dengan board microcontroller serba bisa ini .
“Barang siapa yang menempuh suatu jalan untuk menuntut ilmu, Allah akan memudahkan baginya jalan ke surga (HR Muslim)”
Semoga bermanfaat .
Salam Teknologi … Salam Arduino … .
Wassalamualaikum.
*
*
*
*
*
********************
#Maaf jika ada kesalahan, ambil sisi positifnya saja.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.
Tidak ada komentar:
Posting Komentar