#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);
}
}