Hola necesito ayuda soy nuevo en Arduino y en la programación, les pongo el código del programa actual el cual pide al usuario que introduzca la clave de 6 dígitos, si es la correcta permite el acceso, y en caso de que sea incorrecta muestra en la lcd clave incorrecta.
Necesito incorporarle que si se ingresa mas de 3 claves incorrectas el sistema se bloquee por 30 segundos y si después de esperar estos 30 segundos se ingresan 2 claves incorrectas el sistema se bloquee hasta que se presione reset físicamente.
Hasta donde entiendo esto lo puedo hacer declarando nuevas variables y haciendo que se sumen, pero no tengo claro como podría hacer esto, agradezco su apoyo
Este es mi codigo:
//CERRADURA//
#include <LiquidCrystal.h>
#include <Keypad.h>
int i=0;
int flag=0;
const byte ROWS = 4; //cuatro filas
const byte COLS = 4; //cuatro columnas
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
char clave[]={'1','2','3','1','2','3'};
char ingreso[6];
//Definiendo teclado
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {A0, A1, A2, A3}; //Conectar filas en estos pins
byte colPins[COLS] = {A4, A5, A6, A7}; //Conectar columnas en estos pins
//Creando el keypad
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
lcd.begin(16, 2);
pinMode(8, OUTPUT);
digitalWrite(8, LOW);
}
void loop(){
ini:
lcd.setCursor(0, 0);
lcd.print("Ingrese Password");
lcd.setCursor(5, 1);
int i=0;
int flag=0;
while (i<6)
{
char customKey = customKeypad.getKey();
if (customKey !=NO_KEY){
ingreso[i]=customKey;
i++;
lcd.print("*");
}
}
for(int i=0;i<6;i++)
{
if(ingreso[i]!=clave[i]) {flag=1;}
}
if(flag==1) {
delay(200);
lcd.setCursor(0, 1);
lcd.println("clave incoerrecta");
digitalWrite(8, LOW);
delay(500);
lcd.clear();
goto ini;
}
else{
delay(200);
lcd.setCursor(0,1);
lcd.println("Clave correcta");
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8,LOW);
lcd.setCursor(0, 0);
lcd.clear();
lcd.println("ingresando");
lcd.setCursor(0, 1);
lcd.println("al sistema");
}
loop1: goto loop1;
}
Cerradura_el_ctrica.ino (1.53 KB)