#include <Keypad.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
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}; // - detail arduino - pin detail -
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop(){
static int c=0; // for lcd col and row
static int r=0;
char customKey = customKeypad.getKey();
if(customKey)
{
lcd.setCursor(c,r);
lcd.print(customKey);
c++;
if(c==16 && r==0)
{
c=0;
r=1;
}
if(c==16&&r==1)
{
c=0;
r=0;
lcd.init();
}
}
}