Espero alguien me pueda hechar la mano con mi código,está basado en un sistema de seguridad con 2 claves lo que necesito hacer es que cuando se introduzca la primera clave correcta del programa el LCD dice "Clave Correcta" pero quiero que el LCD cambie a "Bloqueado" cuando yo presione un boton. Así se quedará el LCD hasta que reinicie Arduino
Este es mi código
#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f,16,2);
int verde = 12;
int rojo = 11;
int buzzer = 10;
int i = 0;
String tecla;
String clave;
const byte FILAS = 4; // cuatro filas
const byte COLUMNAS = 4; // cuatro columnas
char keys [FILAS] [COLUMNAS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'#', '0', '*', 'D'},
};
byte pinFila [FILAS] = {9, 8, 7, 6}; // conectarse a los pines de fila del teclado
byte pinColumna [COLUMNAS] = {5, 4, 3, 2}; // conectarse a los pines de columna del teclado
Keypad keypad = Keypad (makeKeymap (keys), pinFila, pinColumna, FILAS, COLUMNAS);
void setup() {
pinMode (verde, OUTPUT);
pinMode (rojo, OUTPUT );
pinMode (buzzer, OUTPUT);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("INTRODUCIR CLAVE");
lcd.setCursor(0,1);
}
void loop() {
char key = keypad.getKey();
if (key) {
digitalWrite (buzzer, HIGH);
delay (100);
digitalWrite(buzzer, LOW);
tecla= key;
clave = clave + key;
}
if (tecla.equals ("A")){
if (clave.equals ("1234A")){
{lcd.clear();
lcd.setCursor(0,0);
lcd.print("CLAVE CORRECTA");
lcd.setCursor(0,1);
delay (70);}}
else {
lcd.clear();
lcd.setCursor(0,0);
lcd.print("CLAVE INCORRECTA");
lcd.setCursor(0,1);
}
}
if (tecla.equals ("A")){
if (clave.equals ("4444A")){
{lcd.clear();
lcd.setCursor(0,0);
lcd.print("CLAVE CORRECTA");
lcd.setCursor(0,1);
lcd.print("PUEDE ENTRAR");
delay (70);}}
else {
lcd.clear();
lcd.setCursor(0,0);
lcd.print("CLAVE INCORRECTA");
lcd.setCursor(0,1);
}
clave = "";
tecla = "";
}
}