#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Keypad.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'},
{'8','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[BARIS] = {14,12,19,18};
byte colPins[KOLOM] = {5,4,2,15};
Keypad keypad=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("Keypad ESP32");
delay(2000);
oled.display();
oled.clearDisplay();
}
}
void loop() {
char customKey = keypad.getKey();
if (customKey){
oled.setTextSize(2);
oled.setTextColor(WHITE);
oled.setCursor(0,10);
oled.println("Press");
oled.println(customKey);
oled.display();
delay(100);
}
}