#include <Keypad.h>
const byte ROWS = 4; // NUMERO DE FILAS
const byte COLS = 3; // NUMERO DE COLUMNAS
char keys [ROWS] [COLS] = { // PERMITE IDENTIFICAR LA TECLA PRESIONADA
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rowPins[ROWS] = {9, 8 ,7, 6}; // PIN DE LAS FILAS DEL TECLADO
byte colPins[COLS] = {5, 4, 3}; // PIN DE LAS COLUMNAS DEL TECLADO
char i[4] = {0, 0, 0, 0}; // ESTE CODIGO ES PARA PODER PONER 4 DIGITOS
char key=0; // VARIABLE QUE CONTENDRA CADA UNO DE LOS DIGITOS INTRODUCIDOS
int j=0; // VARIABLE QUE NOS AYUDARA A RECORRER CADA POSICION DE LA VARIABLE ARRAY I
int cont = 0; // ENCARGADA DE CONTAR QYE SOLO INTRODUCIMOS 4 MUMEROS PARA LAS CLAVES
int led = 13; // PIN DEL LED
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
Serial.begin(9600);
pinMode (led, OUTPUT); // SALIDA DEL PIN DEL LED
}
void loop() {
while (cont < 4) { //
key = keypad.getKey(); // ALMANECERA LAS RECLAS PULSADAS
i[j]= key; // ALMANECERA LAS TECLAS QUE RECOGE KEY EN CADA POSICION DE NUESTRA VARIABLE ARRAY I
if (key){
Serial.print(key);
j=j+1; // INCREMENTA LA VARIABLE INDICE J
cont = cont+1; // VARIABLE QUE CONTA
}
}
if (i[0] == '2' && i[1] == '1' && i[2] == '2' && i[3] == '1') // CLAVE CORRECTO
{
Serial.println();
Serial.println("ACCESS PERMITED"); // CUANDO SE PONE LA CLAVE CORRECTO SE VA A ENSENAR ACCESS PERMITED
digitalWrite (led, HIGH); // SI LA CLAVE ESTA CORRECTO SE ENCENDERA EL LED
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '3' && i[1] == '3' && i[2] == '2' && i[3] == '1')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '5' && i[1] == '4' && i[2] == '0' && i[3] == '8')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '1' && i[1] == '9' && i[2] == '9' && i[3] == '7')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '0' && i[3] == '5')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '1' && i[1] == '9' && i[2] == '9' && i[3] == '9')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '0' && i[3] == '9')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '0' && i[3] == '2')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '1' && i[1] == '9' && i[2] == '7' && i[3] == '5')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '2' && i[3] == '2')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '1' && i[1] == '9' && i[2] == '9' && i[3] == '6')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '1' && i[3] == '4')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '1' && i[3] == '6')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '1' && i[3] == '7')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '1' && i[3] == '8')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '8' && i[2] == '0' && i[3] == '8')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '2' && i[2] == '0' && i[3] == '5')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '1' && i[1] == '7' && i[2] == '1' && i[3] == '1')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '5' && i[2] == '2' && i[3] == '1')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '1' && i[3] == '5')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '2' && i[3] == '0')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '2' && i[1] == '0' && i[2] == '2' && i[3] == '1')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '1' && i[1] == '5' && i[2] == '9' && i[3] == '1')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '3' && i[1] == '5' && i[2] == '2' && i[3] == '8')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '6' && i[2] == '2' && i[3] == '5')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '8' && i[2] == '1' && i[3] == '8')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '2' && i[2] == '2' && i[3] == '6')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '2' && i[2] == '1' && i[3] == '2')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '9' && i[2] == '2' && i[3] == '3')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else if (i[0] == '0' && i[1] == '1' && i[2] == '1' && i[3] == '2')
{
Serial.println();
Serial.println("ACCESS PERMITED");
digitalWrite (led, HIGH);
i[0]=0;
i[1]=0;
i[2]=0;
i[3]=0;
}
else{ // CUANDO SE PONE UNA CLAVE INCORRECTO SE ENSENARA ESTO
Serial.println();
Serial.println("ACCESS DENIED");
digitalWrite (led, LOW);
}
// ESTE CODIGO PERMITE QUE PONES OTRA CLAVE
cont =0;
j=0;
key=0;
}void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}