#include <LiquidCrystal.h>
#include <Keypad.h>
#define buzzer 13
#define Led 11
cahr* password ="12345";
int posisi = 0;
const byte rows = 4;
const byte cols = 4;
char keyMap [cols];
{
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'}،
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'},
};
byte rowPins [rows] = {2, 3, 4, 5};
byte colPins [cols] = {6, 7, 8, 9};
Keypad myKeypad = Keypad( makeKeymap(keyMap), rowPins, colPins, rowd, cols);
LyquidCrystal lcd (A5, A4, A3, A2, A1, A0); // (RS, E, D4, D5, D6, D7)
void setup ()
{
lcd.begin(16, 2);
pinMode(Buzzer, OUTPUT);
pinMode(Led, OUTPUT);
setLocked (true);
}
void loop()
{
char whichkey = myKeypad.getKey();
lcd.setCursor(4, 0);
lcd.print("Silahkan");
lcd.setCursor(0, 1);
lcd.print(" Ketik Password");
if(whichkey == '*' || whichkey == '#' || whichkey == 'A' ||
whichkey == 'B' || whichkey == 'C' || whichkey == 'D' || whichkey == '0')
{
posisi=0;
setLocked (true);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Password Salah");
lcd.setCursor(0, 1);
lcd.print(" Ulangi Lagi");
tone(Buzzer,2000,200);
delay(1000);
lcd.clear();
}
if(whichkey == password [posisi])
{
posisi++;
}
if(posisi == 5)
{
setLocked (false);
lcd.Clear();
lcd.setCursir(1, 0);
lcd.print("*** SUKSES ***");
delay(5000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HAI .... Kenalin");
lcd.setCurdir(0, 1);
lcd.print(" NAMAKU HALIMAH");
delay(5000);
lcd.clear();
}
delay(100);
}
void setLocked(int locked)
{
if(locked)
{
digitalWrite(Led, LOW);
noTone(Buzzer);
}
else
{
digitalWrite(Led, HIGH);
tone(Buzzer,1535,500);
}
}