#include <Keypad.h>
#define NUM_LINHAS 4
#define NUM_COLUNAS 4
#define buzzer 13
char keys[NUM_LINHAS][NUM_COLUNAS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte pin_linhas[NUM_LINHAS] = {21, 19, 18, 5}; // R1, R2, R3, R4
byte pin_colunas[NUM_COLUNAS] = {17, 16, 4, 2}; // C1, C2, C3, C4
Keypad keypad = Keypad( makeKeymap(keys), pin_linhas, pin_colunas, NUM_LINHAS, NUM_COLUNAS );
const String senha = "7890";
String entrada_senha;
void setup() {
Serial.begin(115200);
entrada_senha.reserve(32);
pinMode(buzzer, OUTPUT);
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.println(key);
if (key == '*') {
entrada_senha = "";
} else if (key == '#') {
if (senha == entrada_senha) {
Serial.println("Senha Correta - ACESSO PERMITIDO");
tone(13,268,200);
} else {
Serial.println("Senha Errada - ACESSO BLOQUEADO");
tone(13,150,200);
}
entrada_senha = "";
} else {
entrada_senha += key;
}
}
}