Need some help with my final proyect // necesito ayuda para mi proyecto final
i made code fingerprint , lcd when put fingerid , pass, , starts over, doesn't read passwords anymore. thats 1 problem, second problem if put wrong password , put right password, doesn't go fingerprint.
help me please.
help me please.
code: [select]
#include <keypad.h>>
#include <liquidcrystal.h>
#include <adafruit_fingerprint.h>
#include <softwareserial.h>
liquidcrystal lcd(7, 12, 11, 10, 9, 8);
char *clave="123456";
char *clave2="234567";
char *clave3="345678";
char *clave4="456789";
char *clave5="567890";
char *introducida="xxxxxx"; //definimos las varibles que nos servira para comparar los digitos ingresados por el usuario y las correctas
int a0,a1,a2,a3,a4,usuario,inco,user0,user1,user2,user3,user4;
int getfingerprintidez();int k=0;int y=0;
int indiceteclado=0; //definimos una variable que nos servira para los condicionales
const byte rows = 4; // definimos el numero de flias y columnas de la matriz del teclado
const byte cols = 4;
softwareserial myserial(a11, a10);
adafruit_fingerprint finger = adafruit_fingerprint(&myserial);
char hexakeys[rows][cols] = {
{'1','2','3','a'},
{'4','5','6','b'},
{'7','8','9','c'},
{'*','0','#','d'},
};
byte rowpins[rows] = {22, 24, 26, 28};
byte colpins[cols] = {30, 32, 34, 36};
keypad customkeypad = keypad( makekeymap(hexakeys), rowpins, colpins, rows, cols);
void setup(){
lcd.begin(16,2); // ingresamos mensaje de bienvenida al inicializar el programa
lcd.print(" bienvenidos ");
lcd.setcursor(0,1);
lcd.print(" al final de:");
delay (2000);
lcd.clear ();
lcd.setcursor(0,0);
lcd.print(" sistemas ");
lcd.setcursor(0,1);
lcd.print(" digitales 2014 ");
delay (2000);
lcd.clear ();
finger.begin(57600);
lcd.clear();
lcd.setcursor(0,0);
lcd.print(" coloque su ");
lcd.setcursor(0,1);
lcd.print("huella por favor");
}
void loop() {
if(k==0){
usuario=getfingerprintidez();}
if(k==1){
pass(usuario);}
delay(50); //don't ned run @ full speed.
}
p = finger.image2tz();
switch (p) {
case fingerprint_ok:
break;
case fingerprint_imagemess:
return p;
case fingerprint_packetrecieveerr:
return p;
case fingerprint_featurefail:
return p;
case fingerprint_invalidimage:
return p;
default:
return p;
}
p = finger.fingerfastsearch();
if (p == fingerprint_ok) {
} else if (p == fingerprint_packetrecieveerr) {
return p;
} else if (p == fingerprint_notfound) {
return p;
} else {
return p;
}
}
int getfingerprintidez() {
uint8_t p = finger.getimage();
if (p != fingerprint_ok) return -1;
p = finger.image2tz();
if (p != fingerprint_ok) return -1;
p = finger.fingerfastsearch();
if (p != fingerprint_ok) return -1;
switch(finger.fingerid){
case 0: {
serial.println("0");
lcd.setcursor(0,0);
lcd.print(" bienvenido ");
lcd.setcursor(0,1);
lcd.print(" andre coronado ");
delay (3000);
user0=0;
k=1;
break;
}
case 1: {
serial.println("1");
lcd.setcursor(0,0);
lcd.print(" bienvenido ");
lcd.setcursor(0,1);
lcd.print(" carlos gayoso ");
delay (3000);
k=1;
user1=1;
break;
}
case 2: {
serial.println("2");
lcd.setcursor(0,0);
lcd.print(" bienvenido ");
lcd.setcursor(0,1);
lcd.print("guillermo benite");
delay (3000);
user2=2;
k=1;
break;
}
case 3: {
serial.println("3");
lcd.setcursor(0,0);
lcd.print(" bienvenido ");
lcd.setcursor(0,1);
lcd.print(" hans garcia ");
delay (3000);
user3=3;
k=1;
break;
}
case 4: {
serial.println("4");
lcd.setcursor(0,0);
lcd.print(" bienvenido ");
lcd.setcursor(0,1);
lcd.print("renzo bocanegra ");
delay (3000);
user4=4;
k=1;
break;
}
}
lcd.clear();
return usuario;
}
void pass(int usuario){
if (user0==0 || user1==1 || user2==2 || user3==3 || user4==4){
char teclado=customkeypad.getkey();
lcd.setcursor(0,0);
lcd.print("coloque su clave");
if (teclado != no_key){ //si se presionó una tecla
lcd.setcursor(0,0);
lcd.print('*');
if (teclado == '#'){ // definimos que la tecla # sera neustro enter
if (indiceteclado==6){ //definimos el condicional segun el numero de caracteres de la contraseña
for (int i=0;i<6;i++){ // comrobamos las claves
if (clave[i]==introducida[i]){
a0++;}
}
for (int i=0;i<6;i++){ // comrobamos las claves
if (clave2[i]==introducida[i]){
a1++;}
}
for (int i=0;i<6;i++){ // comrobamos las claves
if (clave3[i]==introducida[i]){
a2++;}
}
(int i=0;i<6;i++){ // comrobamos las claves
if (clave4[i]==introducida[i]){
a3++;}
}
(int i=0;i<6;i++){ // comrobamos las claves
if (clave5[i]==introducida[i]){
a4++;}
}
if(a0==6 || a1==6 || a2==6 || a3==6 || a4==6){
lcd.clear();
lcd.setcursor(0,0);
lcd.print(" clave correcta ");
lcd.setcursor(0,1);
lcd.print(" bienvenido ");
delay(2000);
lcd.clear();
k=0;
inco=0;
lcd.clear();
lcd.setcursor(0,0);
lcd.print(" coloque su ");
lcd.setcursor(0,1);
lcd.print("huella por favor");
}
else{
inco++;
lcd.clear();
lcd.setcursor(0,0);
lcd.print(" clave ");
lcd.setcursor(0,1);
lcd.print(" incorrecta " );
delay(2000);
lcd.clear();
}
if(inco==3){
lcd.clear();
lcd.setcursor(0,0);
lcd.print(" teclado ");
lcd.setcursor(0,1);
lcd.print(" bloqueado " );
delay(3000);
lcd.clear();
lcd.setcursor(0,0);
lcd.print(" teclado ");
lcd.setcursor(0,1);
lcd.print(" bloqueado " );
k=0;
}
}
}
else{
if (indiceteclado < 6)
{
introducida[indiceteclado]=teclado;
indiceteclado++;
serial.print(teclado++);
}
}
}
}
}
please edit post , place code in code tags -- button "<>" on it.
Arduino Forum > Using Arduino > Project Guidance > Need some help with my final proyect // necesito ayuda para mi proyecto final
arduino
Comments
Post a Comment