Professional Documents
Culture Documents
#include <EEPROM.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Password.h>
#include <Keypad.h>
#include <SPI.h>
Inisialisasipassword
Password password = Password("1234");
Inisialisasijumlahbarisdankolomkeypad
const byte ROWS = 4;
const byte COLS = 4;
Deklarasimatrikskeypad
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Perintahsaatpassword dimasukkan
void keypadEvent(KeypadEventeKey){
switch (keypad.getState()){
case PRESSED:
Serial.print("Pressed: ");
Serial.println(eKey);
pwMode =1;
pwPos=pwPos+1;
if(pwPos==1){lcd.clear();}
lcd.setCursor (0,0);
lcd.print(F("Password Entered"));
if(pwPos<5){lcd.setCursor (5+pwPos,1);
lcd.print(F("*"));
}
switch (eKey){
case '*': checkPassword(); break;
case '#': password.reset();; break;
default: password.append(eKey);
}
}
}
Perintahuntukmengecekpasswordbenaratausalah
void checkPassword(){
if (password.evaluate()){
Serial.println(" -Accepted- ");
lcd.setCursor (0,1);
lcd.print(F(" Password Benar "));
ACCEPT ();
password.reset();
pwPos=0;
}
else{
Serial.println(" -Rejected- ");
lcd.setCursor (0,1);
lcd.print(F("Password Salah"));
alarm = alarm+1;
RIJECT ();
password.reset();
pwPos=0;
}}
Perintahsaat password yang dimasukkansalahsebanyak 3 kali
if (alarmStat == 1) {
lcd.setCursor (0,0);
lcd.print(F(" System LOCKED! "));
lcd.setCursor (0,1);
lcd.print(F(" Please Wait : "));
for(inti=60; i>0; i--){
tone (buzzer,1800);
lcd.setCursor (13,1); lcd.print(i);
lcd.print(F(" "));delay (1000);}
noTone (buzzer);
alarmStat = 0;
alarm = 0;
}