Menggunakan keypad 4×4 Arduino dan LCD 16×2 I2C

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.

keypad 4x4

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 :

keypad 4x4 Arduino

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

Tinggalkan Balasan

Scroll to Top