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.

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

Popular posts from this blog

invalid use of void expresion in FlexiTimer2 library

error: a function-definition is not allowed here before '{' token

LED Strip Code