#include <Keypad.h>
const byte ROWS = 4; // número de linhas do teclado
const byte COLS = 4; // número de colunas do teclado
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}; // conecte os pinos do teclado às linhas
byte colPins[COLS] = {5, 4, 3, 2}; // conecte os pinos do teclado às colunas
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
char password[] = "1234"; // senha para teste
char enteredPassword[5]; // array para armazenar a senha inserida
void setup() {
Serial.begin(9600);
}
void loop() {
char key = keypad.getKey(); // obter a tecla pressionada
if (key != NO_KEY) { // se uma tecla foi pressionada
static int index = 0; // índice para acompanhar a posição na senha inserida
enteredPassword[index++] = key; // adicionar a tecla à senha inserida
Serial.print("Tecla Pressionada: ");
Serial.println(key);
if (index == 4) { // se a senha inserida tem 4 caracteres
index = 0; // redefinir o índice para a próxima entrada de senha
// verificar se a senha inserida está correta
if (strcmp(enteredPassword, password) == 0) {
Serial.println("Senha correta!");
} else {
Serial.println("Senha incorreta!");
}
// Limpar a senha inserida para o próximo teste
memset(enteredPassword, 0, sizeof(enteredPassword));
}
}
}