#include <Keypad.h>
const byte ROWS = 4; // Número de linhas do teclado
const byte COLS = 4; // Número de colunas do teclado
// Define as teclas do teclado e o layout
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// Conexões dos pinos do teclado ao Arduino
byte rowPins[ROWS] = {9, 8, 7, 6}; // Linhas 0 a 3
byte colPins[COLS] = {5, 4, 3, 2}; // Colunas 0 a 3
// Inicializa o objeto Keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
// Define a senha
String senhaCorreta = "1234"; // Substitua pela sua senha desejada
void setup() {
Serial.begin(9600);
}
void loop() {
char key = keypad.getKey();
if (key != NO_KEY) {
Serial.print("Tecla pressionada: ");
Serial.println(key);
static String senhaDigitada = ""; // Mantém a senha digitada até agora
if (key != '#') {
senhaDigitada += key; // Adiciona a tecla digitada à senha digitada até agora
} else {
if (senhaDigitada.equals(senhaCorreta)) {
Serial.println("Senha correta! Acesso concedido.");
} else {
Serial.println("Senha incorreta! Tente novamente.");
}
senhaDigitada = ""; // Limpa a senha digitada para a próxima tentativa
}
}
}