Created
June 11, 2018 17:52
-
-
Save HectorTorres/d213ee635ba94115bc03817c2b9f4a25 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Keypad.h>; // Con esta linea llamamos a la librería Keypad para que arduino reconozca el teclado | |
#include <TTP229.h> | |
char codigo[4]; // Esta variable guardara el codigo | |
int cont=0; // Esta es una variable que nos servirá más adelante | |
const int SCL_PIN = 2; // El pin SCL se conectará al pin 2 del arduino | |
const int SDO_PIN = 3; // El pin SDO se conectará al pin 3 del arduino | |
TTP229 ttp229(SCL_PIN, SDO_PIN); // TTP229(sclPin, sdoPin) | |
void setup() | |
{ | |
pinMode(13, OUTPUT); //El pin 13 sera nuestra salida digital, para poder visualizar tambien en el arduino | |
Serial.begin(115200); //Se inicia el puerto serial | |
Serial.println("Introduzca la clave"); | |
pinMode (4,OUTPUT); | |
pinMode (5,OUTPUT); | |
pinMode (6,OUTPUT); | |
} | |
void loop() | |
{ | |
digitalWrite(4,HIGH); | |
digitalWrite(5,LOW); | |
digitalWrite(6,LOW); | |
uint8_t key = ttp229.ReadKey16(); | |
if (key) Serial.println(key); //se imprime en el monitor serial | |
if (key != NO_KEY) //Con este siclo preguntamos si se presiono una tecla, si se presiono entonce el ciclo continua | |
{ | |
codigo[cont]=key; //se guardaran los caracteres presionados en codigo[cont] | |
cont=cont+1; //incrementamos la variable cont (esto con el fin de tener los 4 dígitos que requerimos) | |
if(cont==4) //Ahora comienza otro siclo if, en el cual se pregunta si ya hay 4 datos guardados y si es así entonce el siclo continua | |
{ | |
if(codigo[0]==5&&codigo[1]==6&&codigo[2]==7&&codigo[3]==8) //La contraseña será 5678 | |
{ | |
digitalWrite(13,!digitalRead(13)); //si lo anterior es verdad entonces se encenderá el led, si se ingresa nuevamente la contraseña entonces se apagara | |
Serial.println("Clave correcta"); //se imprime en caso de que sea la clave correcta | |
digitalWrite(4, LOW); | |
digitalWrite(5,HIGH); | |
digitalWrite(6,LOW); | |
delay(1000); | |
} | |
else //En caso de que sea una clave incorrecta | |
{ | |
Serial.println("Clave incorrecta"); // se imprime que la clave es incorrecta | |
digitalWrite(6,HIGH); | |
digitalWrite(4,LOW); | |
digitalWrite(5,LOW); | |
delay(1000); | |
} | |
cont=0; //resetear a 0 la variable cont | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment