#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <DHT.h>
int DHTPin = A0;
int DHTType = DHT22;
DHT dht (DHTPin, DHTType);
LiquidCrystal_I2C lcd(0x27, 16, 2);
const uint8_t x = 4;
const uint8_t y = 4;
uint8_t pinBaris[x] = {9,8,7,6};
uint8_t pinKolom[y] = {5,4,3,2};
char keys[x][y] = {{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad k = Keypad(makeKeymap(keys),pinBaris,pinKolom,x,y);
String PINTersimpan = "2109";
String PINTerinput = "";
bool kesesuaianPIN = false;
void SelamatDatang(){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("WELLCOME TO EBT");
lcd.setCursor(0,1);
lcd.print("PIN:");
}
void setup() {
Serial.begin (115200);
dht.begin();
lcd.init();
lcd.backlight();
SelamatDatang();
while(!kesesuaianPIN){
char bacaKey = k.getKey();
if (bacaKey != NO_KEY){
if(bacaKey == 'D'){
if(PINTersimpan == PINTerinput){
kesesuaianPIN = true;
}
PINTerinput = "";
SelamatDatang();
}else {
PINTerinput = PINTerinput + bacaKey;
Serial.print(bacaKey);
lcd.print(bacaKey);}
}
}
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp:" +String(t)+ "'C");
lcd.setCursor(0,1);
lcd.print("Humid:" +String(h)+ "%");
delay(400);
}