Keypad dapat digunakan untuk membuat kunci pintu dengan password. Keypad digabungkan dengan lcd dapat dibuat menjadi kunci pintu password fungsi dari lcd yaitu untuk mengetahui input password yang dimasukan benar atau salah, untuk merealisasikan alat ini kita dapat menambahkan solenoid door lock didalamnya. Dengan membuat alat ini, kita dapat mengganti kunci mekanik menjadi kunci password.
Kunci Pintu dengan password input Keypad 4×4
1. Alat / Bahan
- Arduino IDE Download disini
- Library LiquidCrystal_I2C Download disini
- Library Keypad Download disini
- Arduino Uno 1 Buah
- Keypad 1 Buah
- I2C 1 Buah
- LCD 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.
2. Skema Rangkaian
Gambar Rangkaian Kunci Pintu dengan password input Keypad 4×4
Keterangan:
- 5V – VCC I2C
- GND – GND I2C
- SDA – SDA I2C
- SCL – SCL I2C
- D2 – Pin 1 keypad
- D3 – Pin 2 keypad
- D4 – Pin 3 keypad
- D5 – Pin 4 keypad
- D6 – Pin 5 keypad
- D7 – Pin 6 keypad
- D8 – Pin 7 keypad
- D9 – Pin 8 keypad
Baca Juga : Membuat RPM Counter sederhana
3. Langkah Kerja
- Siapkan alat dan bahan yang akan digunakan
- Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Ketikkan sketch program pada halaman Arduino IDE
- Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
Mencari Tahu Alamat I2C Pada Modul I2C - Untuk memahami cara kerja program keypad, pelajari materi berikut:
Membaca Input Keypad 4×4 - Lakukan proses uploading program
Baca Juga : Tutorial Membuat Jam Digital Menggunakan Arduino
4. Sketch Program
/* Program Kunci Pintu dengan password input Keypad 4x4 dibuat oleh Indobot */ #include <Keypad.h> //Library keypad #include <LiquidCrystal_I2C.h> //Library LCD I2C LiquidCrystal_I2C lcd(0x27,16,2); //Alamat I2C const byte ROWS = 4; //Jumlah baris keypad const byte COLS = 4; //Jumlah kolom keypad char Keys[ROWS][COLS] = { //Membuat array keypad {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {2, 3, 4, 5}; //Deklarasi pin keypad byte colPins[COLS] = {6, 7, 8, 9}; Keypad customKeypad = Keypad( makeKeymap(Keys), rowPins, colPins, ROWS, COLS); //Masukkan info keypad pada library #define LED 13 //LED pada pin D13 char customKey; //Variabel penampung input keypad int number = 0; //Variabel penampung nilai angka int password = 1379; //Password void setup() { lcd.init (); //Mulai LCD lcd.setBacklight(HIGH); //Nyalakan backlight pinMode(LED, OUTPUT); //Setting I/O } void loop() { lcd.setCursor(0,0); lcd.print("Input Password"); //Tampilan pada layar LCD customKey = customKeypad.getKey(); //Baca input keypad //------------Prosedur jika input berupa angka------------// switch(customKey){ case '0' ... '9': lcd.setCursor(0,1); number = number * 10 + (customKey - '0'); lcd.print(number); break; //------------Jika input '#' maka cek password------------// case '#': if(number == password){ //Jika password benar, maka lcd.setCursor(0,1); lcd.print("Access Accepted "); //Tampilan LCD digitalWrite(LED, HIGH); //LED Menyala delay(2000); digitalWrite(LED, LOW); number = 0; lcd.clear(); } else{ //Jika salah, maka lcd.setCursor(0,1); lcd.print("Invalid Password"); //Tampilan LCD delay(2000); number = 0; lcd.clear(); } break; //------------Jika input '*' maka hapus tampilan------------// case '*': number = 0; lcd.clear(); break; } }
Kesimpulan:
Program bekerja dengan meminta kita untuk menginputkan password untuk dapat melakukan akses, sebelumnya password akses sudah di setting terlebih dahulu didalam program. Jika password yang di inputkan benar maka lcd akan menampilkan “Access Accepted” jika password salah layar lcd akan menampilkan “Invalid Password”.