Está en la página 1de 2

#include<Keypad.

h>
#include <LiquidCrystal.h>
char clave[4];
char passwd[] = "1326";
char passwd2[] = "2659";
byte motor = 12;
const byte rs = 19, en = 18, d4 = 17, d5 = 16, d6 = 15, d7 = 14;

const byte filas = 4;


const byte columnas = 3;
byte pinsFilas[filas] = {3, 2, 7, 0 }; /* Array de bytes con los numeros de pines
en los cuales
estan conectadas las filas del teclado
matricial.
En orden F1, F2, F3, F4*/
byte pinsColumnas[columnas] = {4, 5, 6}; /* Array de bytes con los numeros de pines
en los cuales
estan conectadas la columnas.
En orden C1, C2, C3 */

// Matriz que representa el teclado matricial elegido. Se ingresan todos los


elementos , las filas
// se ingresan entre {} y separadas por comas.
/* {{fila0Columna0, fila0Columna1, fila0Columna2},
{fila1Columna0, fila1Columna1, fila1Columna2},
{fila2Columna0, fila2Columna1, fila2Columna2},
{fila3Columna0, fila3Columna1, fila3Columna2}
}
*/
char teclas[filas][columnas] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
}; // Matriz con las teclas que se le enviaran al constructor del objeto Keypad

/* Objeto Keypad, se le envia al constructor la matriz de teclas, los array de los


pines
de las filas y las columnas, y el número de filas y columnas que tendra la
matriz.*/
Keypad teclado = Keypad(makeKeymap(teclas), pinsFilas, pinsColumnas, filas,
columnas);
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
pinMode (12, OUTPUT);
char tecla = teclado.getKey();

void loop() {
byte cont = 0;
while (cont < 4) {

lcd.home();
lcd.print("Digite la clave");

char tecla = teclado.getKey();

if (tecla != NO_KEY) {
clave [cont] = tecla;
lcd.setCursor ( cont, 1);
lcd.print ("*");
cont++;
}
}
delay (500);
lcd.clear();

byte aciertos = 0;
byte i = 0;
while (cont == 4) {
if (clave[i] == passwd[i]) {
aciertos++;
}
i++;
delay(125);
if (aciertos == 4) {
lcd.print("Motor encendido");
digitalWrite(12, HIGH);
delay(500);
lcd.clear();
}

else if (clave[i] == passwd2[i]) {


lcd.print("Motor apagado");
digitalWrite(12, LOW);
delay(500);
lcd.clear();
}

if (clave[i] != passwd[i]) {
lcd.print("Clave incorrecta");
lcd.clear();
}

if (i == 4) {
cont++;
}

También podría gustarte