Assalamu’alaikum sahabat arduino, semoga rahmat dan hidayahnya selalu bersama sahabat semua, Syukur Alhamdulillah kali ini admin berkesempatan lagi untuk menulis artikel yang semoga bermanfaat untuk sahabat semua, kali ini kita akan coba belajar untuk membuat rangkaian pengamanan berpassword menggunakan arduino, sebenarnya postingan kali ini adalah tindak lanjut dari artikel berikut ini:
- Cara Menggunakan LCD 12C / IIC dengan Arduino
- Cara Menggunakan / Mengakses Keypad menggunakan Arduino
- Menampilkan Karakter dari Keypad ke LCD pada Arduino
Komponen
Oke langsung saja seperti biasa ada beberapa komponen yang harus kita siapkan, berikut daftar komponennya:
- Arduino Board (Tokopedia)
- Keypad 4×4 (Tokopedia) (bisa 3×4, silahkan disesuaikan di codingnya)
- Module LCD I2C (Tokopedia)
- Module relay (Tokopedia)
Setelah komponen siap selanjutnya buat wiring seperti gambar dibawah ini:
Wiring
Selanjutnya kita siapkan codingnya, tentunya kita siapkan library untuk codingnya dulu ya, library yg harus dipersiapkan adalah sebagai berikut:
Untuk cara install library bisa dilihat disini : Cara Memasukan / Menambahkan Library di Arduino IDE
Setelah library siap selanjutnya upload sketch berikut ini ke arduino kalian
Coding
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Keypad.h> #define Password_Length 8 int signalPin = 12; char Data[Password_Length]; char Master[Password_Length] = "123A456"; byte data_count = 0, master_count = 0; bool Pass_is_good; char customKey; const byte ROWS = 4; const byte COLS = 4; char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3, 2}; Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); LiquidCrystal_I2C lcd(0x27, 16, 2); void setup(){ lcd.init(); lcd.backlight(); pinMode(signalPin, OUTPUT); } void loop(){ lcd.setCursor(0,0); lcd.print("Enter Password:"); customKey = customKeypad.getKey(); if (customKey){ Data[data_count] = customKey; lcd.setCursor(data_count,1); lcd.print(Data[data_count]); data_count++; } if(data_count == Password_Length-1){ lcd.clear(); if(!strcmp(Data, Master)){ lcd.print("Correct"); digitalWrite(signalPin, HIGH); delay(5000); digitalWrite(signalPin, LOW); } else{ lcd.print("Incorrect"); delay(1000); } lcd.clear(); clearData(); } } void clearData(){ while(data_count !=0){ Data[data_count--] = 0; } return; }
Pada coding diatas ada beberapa baris code yang perlu disesuaikan,
Pertama, pada baris berikut ini
#define Password_Length 8
Ganti angka 8 dengan panjang password yang kalian mau, bisa diganti 4, 6 atau yang lain
Kedua,
char Master[Password_Length] = “123A456”;
“123A456”, ganti karakter tersebut dengan password yg kalian mau, panjang karakternya sesuaikan dengan baris kode “#define Password_Length 8”
Ketiga,
LiquidCrystal_I2C lcd(0x27, 16, 2);
“0x27” silahkan disesuaikan dengan alamat lcd i2c kalian, untuk cara mengetahui alamat i2c bisa dilihat disini : Cara Menggunakan LCD 12C / IIC dengan Arduino
Sekian tutorial kali ini, silahkan dicoba, jika ada kesulitan bisa ditanyakan di kolom kementar ya, semoga bermanfaat, terima kasih, wassalamu’alaikum
source : http://www.circuitbasics.com/how-to-set-up-a-keypad-on-an-arduino/