Pages: [1]   Go Down
Author Topic: Keypad + Password ( pequeño problema)  (Read 849 times)
0 Members and 1 Guest are viewing this topic.
Alicante
Offline Offline
Sr. Member
****
Karma: 2
Posts: 410
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:

#include <Keypad.h>
#include <LiquidCrystal.h>
#include <Password.h>

Password password = Password( "1234" );
 

LiquidCrystal lcd(12, 11, 5, 4,3 , 2);


const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'#','0','*'}
};
byte rowPins[ROWS] = {6, 7, 8, 9};
byte colPins[COLS] = {14, 15, 16};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  lcd.begin(16, 2);
  Serial.begin(9600);
}
void menu(){
  lcd.setCursor(1, 0);
  lcd.print("1.Ajust 2.Activ");
  lcd.setCursor(0, 1);
  lcd.print("3.Mem 4.Err");
 
  
}


//take care of some special events
void keypadEvent(KeypadEvent key){
 switch (keypad.getState()){
  case PRESSED:
    Serial.print("Pressed: ");
    Serial.println(key);
    switch (key){
     case '*': checkPassword(); break;
     case '#': password.reset(); break;
     default: password.append(key);
  }
 }
}

void checkPassword(){
 if (password.evaluate()){
  Serial.println("Activad");
  //Add code to run if it works
 }else{
  Serial.println("Clave Errónea");
  //add code to run if it did not work
 }
}

void loop(){

  char key = keypad.getKey();

  if (key){


    
 switch (key)
          {
          case '1':
          lcd.clear();
          lcd.setCursor(1, 0);
          lcd.print("Ajustes");
                     break;  
          
          case '2':
          lcd.clear();
          lcd.setCursor(1, 0);
          lcd.print("Activ");
                     break;  
          
          case '3':
          lcd.clear();
          lcd.setCursor(1, 0);
          lcd.print("Mem");
                     break;  
          
          case '4':
          lcd.clear();
          lcd.setCursor(1, 0);
          lcd.print("Err");
          
           case '5':
           keypad.getKey();
           break;  
           default:
           menu();

          

}
}
}



Cuando pulso 5 no me deja meter el password.¿Alguien sabe repararlo?
Un saludo, muchas gracias.
« Last Edit: October 23, 2012, 05:15:03 am by PascuaL » Logged

Chile
Offline Offline
Edison Member
*
Karma: 32
Posts: 1233
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Es posible que

Code:
case !'5':

deba ser

Code:
case '5':
Logged

My website: http://ried.cl

Alicante
Offline Offline
Sr. Member
****
Karma: 2
Posts: 410
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ups, eso se coló haciendo pruebas.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola buen día tengo una duda sobre el uso de la funcion set(password)
Quisiera saber de  que forma se puede cambiar el password que se define en el sktch por medio del teclado??
Logged

Pages: [1]   Go Up
Jump to: