Hi @lyrix1234
try this sketch:
RV mineirin
#include <Keypad.h>
#define LED1 10
//Hier wird die größe des Keypads definiert
const byte COLS = 4; //4 Spalten
const byte ROWS = 4; //4 Zeilen
//Die Ziffern und Zeichen des Keypads werden eingegeben:
char hexaKeys[ROWS][COLS] = {
{'D', '#', '0', '*'},
{'C', '9', '8', '7'},
{'B', '6', '5', '4'},
{'A', '3', '2', '1'}
};
byte colPins[COLS] = {2, 3, 4, 5}; //Definition der Pins für die 4 Spalten
byte rowPins[ROWS] = {6, 7, 8, 9}; //Definition der Pins für die 4 Zeilen
char Taste; //Taste ist die Variable für die jeweils gedrückte Taste.
Keypad Tastenfeld = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); //Das Keypad kann absofort mit "Tastenfeld" angesprochen werden
const String password = "9999"; // change your password here
String input_password;
bool flag = false;
//--------------------------------------------------------------------------------
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT);
delay(1000);
}
//--------------------------------------------------------------------------------
void loop() {
char Taste = Tastenfeld.getKey();
if (flag == true)
{
if (Taste != '#')
{
input_password += (String)Taste;
}
}
switch (Taste)
{
case '1':
if (flag == false)
{
digitalWrite(LED1, HIGH);
Serial.println("LED wurde angeschalten");
flag = true;
Serial.println("Type Password");
Serial.println(Taste);
input_password = ""; // clear input password
}
break;
case '#':
if (password == input_password)
{
// Serial.println(input_password);
flag = false;
Serial.println("password is correct");
// DO YOUR WORK HERE
}
else
{
//Serial.println(input_password);
flag = false;
Serial.println("password is incorrect, try again");
}
input_password = ""; // clear input password
break;
case '2':
digitalWrite(LED1, LOW);
Serial.println("Led wurde ausgeschalten");
break;
}
}