#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
/* Keypad Setting ########## */
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9,8,7,4};
byte colPins[COLS] = {3,A3,A2,A1};
Keypad ABC = Keypad(makeKeymap(keys),
rowPins, colPins,
ROWS, COLS);
/* LCD setting ############# */
LiquidCrystal_I2C lcd(0x27, 16, 2);
String str[] = {"Hello world",
"ARIS department",
"Key press = ",
"Enter Next Key"};
/* ######################### */
void setup(){
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print(str[0]);
lcd.setCursor(0,1);
lcd.print(str[1]);
delay(2000);
Serial.begin(9600);
}
void loop(){
char key_press = ABC.getKey();
if(key_press){
Serial.print("Keypad = ");
Serial.println(key_press);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(str[2]);
lcd.setCursor(10,0);
lcd.print(key_press);
lcd.setCursor(0,1);
lcd.print(str[3]);
}
}