#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {10, 9, 8, 7};
byte colPins[COLS] = {6, 5, 4, 3};
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
String customKey;
char keyPressed;
void setup() {
Serial.begin(9600);
Serial.println("\n\n\nCodeschloss is ready.");
pinMode(2, INPUT);//Draht am Safe
pinMode(11, OUTPUT);
while(digitalRead(2) == 0){
delay(1);
}
Serial.println("Pin:");
}
void loop() {
if(digitalRead(2)==LOW){
customKey="";
Serial.println("Alarm! Pin reset.");
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(11, LOW);
delay(1000);
}
keyPressed = customKeypad.getKey();
//Serial.println( keyPressed);
if(keyPressed){
Serial.println("keypressed:"+ String(keyPressed));
if(String(keyPressed) == "C"){
customKey = "";
Serial.println("Clear");
}else{
customKey = customKey + keyPressed;
Serial.println("Pin:"+customKey);
}
if(customKey=="2554"){
Serial.println("Unlocked! Hurry up to open, one second left.");
delay(1000);
Serial.println("Unlocked untill reconect");
customKey = "";
while(digitalRead(2) == LOW){
delay(10);
}
Serial.println("Locked!");
//Serial.println(customKey + keyPressed);
}
}
delay(10);
}