//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
// set the LCD address to 0x27 for a 20 chars and 4 line display
LiquidCrystal_I2C lcd(0x27,20,4);
//set Pin Baris & Kolom Keypad
const byte ROWS = 4; //4 Baris
const byte COLS = 4; //4 Kolom
char keys[ROWS][COLS] = {
{'1','2','3','A'}, //Mapping keypad Baris Pertama
{'4','5','6','B'}, //Mapping keypad Baris ke dua
{'7','8','9','C'}, //Mapping keypad Baris ke tiga
{'*','0','#','D'} //Mapping keypad Baris ke empat
};
byte rowPins[ROWS] = {5, 4, 3, 2}; //sambungan Pin baris (Row) Keypad
byte colPins[COLS] = {A0, A1, A2, A3}; //sambungan Pin kolom (column) Keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );//mapping keypad
void setup()
{
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight(); //Nyalakan Lampu Backlight
lcd.setCursor(0,0); //Set Kursor Kolom: 0 Baris: 0
lcd.print("Teknik Elektro S1"); //Menampilkan Tulisan: Teknik Elektro S1
delay(1000); //jeda 1 detik (1000 ms)
lcd.setCursor(0,1); //Set Kursor Kolom: 0 Baris: 1
lcd.print("Kelas Karyawan"); //Menampilkan Tulisan: Kelas Karyawan
delay(1000); //jeda 1 detik (1000 ms)
lcd.setCursor(0,2); //Set Kursor Kolom: 0 Baris: 2
lcd.print("P.Mikroprosessor 3"); //Menampilkan Tulisan: P.Mikroprosessor 3
delay(1000); //jeda 1 detik (1000 ms)
lcd.setCursor(0,3); //Set Kursor Kolom: 0 Baris: 3
lcd.print("Keypad & LCD"); //Menampilkan Tulisan: Keypad & LCD
delay(1000); //jeda 1 detik (1000 ms)
lcd.clear(); //hapus semua karakter di LCD
}
void loop()
{
char key = keypad.getKey();//jika ada tombol keypad yang ditekan,
//masukkan hasil pada variabel key
if (key){ //jika variabel key terdapat nilai
lcd.setCursor(0,0); //Set Kursor Kolom: 0 Baris: 0
lcd.print(key); //tampilkan hasil pembacaan Keypad pada LCD
}
}