Pada tulisan kali ini saya akan membahas cara menggunakan keypad 4×4 arduino dan hasil yang kita tekan dari keypad ditampilkan ke LCD 16×2. Adapun akses kontrolnya ialah menggunakan LED sebagai output dan keypad sebagai input.
Walaupun project keypad 4×4 Arduino ini masih dalam project sederhana, namun bisa kita kembangkan lebih luas lagi karena tutorial ini ditujukan sebagai dasar dalam project keypad selanjutnya. Sebelum membahas lebih lanjut, alangkah baiknya kita mengenal lebih dahulu apa itu keypad
BACA JUGA : kunci pintu dengan password Arduino
Apa itu keypad ?
Keypad adalah rangkaian tombol terhubung baris dan kolom yang berfungsi untuk memberi sinyal pada suatu rangkaian dengan menghubungkan jalur-jalur tertentu. Di dalam mikrokontroller, keypad digunakan sebagai suatu input pada beberapa peralatan dan ada berbagai macam berdasarkan jumlah tombolnya. Misalnya 3×4 dan 4×4
Cara menggunakan keypad 4×4 arduino dan LCD 16×2 I2C
Sekarang kita masuk ke pembahasan yaitu bagaimana mengontrol LED menggunakan keypad 4×4 arduino dan LCD 16×2 I2C. Pada project ini saya menggunakan Keypad Matriks 4×4 yang mana keypad ini menggunakan 8 pin untuk 16 tombol.
Seperti pada gambar keypad 4×4 diatas, pin 1-4 adalah baris dan pin 5-8 adalah kolom.
Komponen yang digunakan
- keypad 4×4
- Arduino uno
- Project board
- LCD 16 x 2 I2C
- kabel jumper
- Resistor 220 Ohm
- LED
Rangkaian Keypad 4×4 Arduino
Setelah mempersiapkan komponen, langkah selanjutnya adalah merangkai komponen yang telah dipersiapkan seperti tampak gambar dibawah ini :
Library Program Keypad
Setelah merangkai seperti pada skema, langkah selanjutnya adalah membuat program keypad 4×4 Arduino. Namun sebelum itu, disini saya sudah menyediakan library yang dapat digunakan dalam pemrogramannya yang bisa kalian download di bawah ini.
Adapun penempatan Library ini di letakkan di :
- Windows = My Documents/ Arduino/libraries
- MAC = (home directory)/Documents/Arduino/libraries
- Linux : (home directory)/sketchbook/libraries
Script Program
#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define Password_Length 8
int signalPin = 13;
char Data[Password_Length];
char Master[Password_Length] = "123789A";
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);
void setup(){
Serial.begin(9600);
lcd.begin();
lcd.setCursor(1, 0);
lcd.print("Keypad dan LCD");
lcd.setCursor(0, 1);
lcd.print("PRAKTEK OTODIDAK");
delay(5000);
lcd.clear();
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);
}
else{
lcd.print("Incorrect");
digitalWrite(signalPin, LOW);
delay(1000);
}
lcd.clear();
clearData();
}
}
void clearData(){
while(data_count !=0){
Data[data_count--] = 0;
}
return;
}
Penjelasan sistem program
Program keypad 4×4 Arduino ini akan menampilkan nilai angka pada LCD I2C 16×2 sesuai dengan yang ditekan pada keypad dan digunakan untuk menginput password pin yang telah kita buat pada program.
Apabila password yang kita input telah sesuai pada program, maka LED akan menyala. Begitu juga sebaliknya apabila password yang kita input tidak sesuai pada program maka LED akan mati dan tampilan pada LCD akan terbaca incorrect
Walaupun program sederhana, namun dalam project ini bisa kita kembangkan lebih luas lagi seperti Kontrol rangkaian listrik atau sistem pengaman lainnya. Caranya adalah tinggal mengubah ouputnya yaitu LED ini dan kita gantikan dengan modul relay. Tentunya masih menggunakan codingan yang sama.
Untuk hasil nya bisa kalian tonton videonya nya di youtube link DISINI