#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>
Servo servo;
Servo servo1;
LiquidCrystal_I2C lcd(0x27,16,2);

const byte baris = 4;
const byte kolom = 4;
 char pin[baris][kolom]= {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
 };

byte pinbaris[baris] = {16,17,18,19};
byte pinkolom[kolom] = {15,2,23,4};
Keypad kiped = Keypad( makeKeymap(pin),pinbaris, pinkolom, baris, kolom);

int num = 0 ;
int pasword1= 1234;
int pasword2 = 2345 ;

void setup(){
  Serial.begin(9600);
  servo.attach(12);
  servo1.attach(14);
  lcd.init();
  lcd.setBacklight(HIGH);
}
void loop(){
  char tombol = kiped.getKey();


switch(tombol){
  case '0' ... '9':
  num = num * 10 + (tombol - '0');
  lcd.setCursor(0,0);
  lcd.print(num);
  break;

  case '#':
 if(num == pasword1){
    lcd.setCursor(0,0);
  lcd.print("pasword benar");
  servo1.write(180);
  num = 0;
 }

else if (num == pasword2){
  lcd.setCursor(0,0);
   servo.write(180);
  lcd.print("pasword betul");
  delay(5000);
  num = 0 ;
  lcd.clear();
}
break;

case '*':
num = 0;
lcd.clear();

break;
}
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
keypad1:R1
keypad1:R2
keypad1:R3
keypad1:R4
keypad1:C1
keypad1:C2
keypad1:C3
keypad1:C4
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
servo1:GND
servo1:V+
servo1:PWM
servo2:GND
servo2:V+
servo2:PWM