Sicherheitscode
Dieser Sicherheitscode ist Variabel und kann nach belieben geändert werden.
#include //Fügt die Keypad.h ein
char* secretCode = "7894561230"; //Das ist der Code für das "Schloss"
int position = 0;
const byte rows = 4; //Legt die Tastenbelegung fest, diese ist nicht immer gleich
const byte cols = 4;
char keys[rows][cols] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[rows] = {11, 10, 9, 8};
byte colPins[cols] = {7, 6, 5, 4};
Keypad keypad = Keypad(makeKeymap(keys),
rowPins, colPins,
rows, cols);
int redPin = 13; //Initialisiert den Pin 13
int greenPin = 12; //Initialisiert den Pin 12
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
setLocked(true); //Sorgt dafür, dass das "Schloss" bei Programm Start geschlossen ist
Serial.begin(9600);
}
void setLocked(int locked) //Gibt Order was bei setLocked geschehen soll
{
if (locked) {
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
Serial.println("Locked");
}
else {
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
}
}
void Willkommen() //Legt den Willkomens Gruß in Lichtform fest
{
digitalWrite(redPin, HIGH);
delay(1);
digitalWrite(greenPin, LOW);
delay(250);
digitalWrite(redPin, LOW);
delay(1);
digitalWrite(greenPin, HIGH);
delay(250);
digitalWrite(redPin, HIGH);
delay(1);
digitalWrite(greenPin, LOW);
delay(250);
}
void loop()
{
char key = keypad.getKey();
if (key == '*' || key == '#') {
position = 0;
setLocked(true);
}
if (key == secretCode[position]) {
position++;
}
if (position == 11) {
setLocked(true);
position = 0;
}
delay(50); //Das Delay schützt vor Überhitzung
}