
Program: Wyświetlanie wciśniętego przycisku
Projekt w tinkercad
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
//mapowanie klawiatury
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'.','0','#','D'}
};
// przypisanie pinów
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
}
void loop(){
char key = keypad.getKey();
if(key)
{
Serial.print("Key Pressed : ");
Serial.println(key);
}
}
Program: Uzyskanie dostępu po wpisaniu poprawnego kodu
Projekt na tinkercad
#include <Keypad.h>
const byte ROWS = 4;
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] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
String savedPass = "1178";
String pass = "";
void setup(){
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
}
void CheckPass(){
if(pass == savedPass)
{
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("Access granted");
}
else
{
digitalWrite(LED_BUILTIN, LOW);
Serial.println("No Access");
}
}
void GetKeypadInput(){
char key = keypad.getKey();
if(key)
{
if(key == '*')
{
pass = "";
}
else if (key == '#')
{
Serial.println(pass);
CheckPass();
pass = "";
}
else
{
pass += key;
}
}
}
void loop(){
GetKeypadInput();
}