Skip to content

Instantly share code, notes, and snippets.

@HectorTorres
Created June 11, 2018 17:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HectorTorres/d213ee635ba94115bc03817c2b9f4a25 to your computer and use it in GitHub Desktop.
Save HectorTorres/d213ee635ba94115bc03817c2b9f4a25 to your computer and use it in GitHub Desktop.
#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