#include <Keypad.h>
const int PIN_RELE = 11; // Pin al que está conectado el relé
const int PIN_LED = 9; // Pin al que está conectado el anillo LED rojo
const int FILAS = 4; // Número de filas del Keypad
const int COLUMNAS = 4; // Número de columnas del Keypad
char teclas[FILAS][COLUMNAS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte pinesFilas[FILAS] = {2, 3, 4, 5}; // Conectar a los pines correspondientes del Keypad
byte pinesColumnas[COLUMNAS] = {6, 7, 8, 9}; // Conectar a los pines correspondientes del Keypad
Keypad keypad = Keypad(makeKeymap(teclas), pinesFilas, pinesColumnas, FILAS, COLUMNAS);
bool combinacionCorrecta = false;
void setup() {
pinMode(PIN_RELE, OUTPUT);
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_RELE, LOW); // Asegurarse de que el relé esté apagado inicialmente
digitalWrite(PIN_LED, LOW); // Asegurarse de que el LED esté apagado inicialmente
Serial.begin(9600);
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.println(key); // Imprimir la tecla presionada para depuración
// Verificar si la tecla presionada es parte de la combinación correcta
if (key == '1' || key == '2' || key == '3' || key == '4') {
combinacionCorrecta = true;
} else {
combinacionCorrecta = false;
}
// Verificar si se ha ingresado la combinación correcta
if (combinacionCorrecta) {
Serial.println("Combinación correcta. Activando relé y LED.");
digitalWrite(PIN_RELE, HIGH); // Encender el relé
digitalWrite(PIN_LED, HIGH); // Encender el LED
} else {
Serial.println("Combinación incorrecta. Apagando relé y LED.");
digitalWrite(PIN_RELE, LOW); // Apagar el relé
digitalWrite(PIN_LED, LOW); // Apagar el LED
}
}
}