#include <Keypad.h>;
#include <Adafruit_SSD1306.h>;
#include <Adafruit_GFX.h>
#include <Wire.h>
#define LEBAR_LAYAR 128
#define TINGGI_LAYAR 64
Adafruit_SSD1306 oled(LEBAR_LAYAR,TINGGI_LAYAR,&Wire,-1);
const byte BARIS = 4;
const byte KOLOM = 4;
char hexaKeys[BARIS][KOLOM]={
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[BARIS]={14,12,19,18};
byte colPins[KOLOM]={5,4,2,15};
Keypad customKeypad = Keypad( makeKeymap(hexaKeys),rowPins,colPins,BARIS,KOLOM);
void setup() {
Serial.begin(9600);
if(!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)){
  Serial.println(F("Failed to start SSD1306 OLED"));
  while(1);
}
delay(2000);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0,10);
oled.println("Penggunaan OLED dengan ESP32 Keypad");
delay(2000);
oled.display();
oled.clearDisplay();
}
void loop() {
  char customKey = customKeypad.getKey();
    if(customKey){
      oled.setTextSize(1);
      oled.setTextColor(WHITE);
      oled.setCursor(0,10);
      oled.print("Press: ");
      oled.print(customKey);
      oled.display();
      oled.clearDisplay();
      delay(100);
    }
}