Arduino Code For Password Protected Switch Keypad

View previous topic View next topic Go down

Arduino Code For Password Protected Switch Keypad

Post by jamied_uk on 17th December 2016, 20:38

Vid

Arduino Code

Code:
/*
||  Simple Password Entry Using Matrix Keypad
||  4/5/2012 Updates Nathan Sobieck: Nathan@Sobisource.com
||  Updated 17/12/2016 J~Net
*/

//* is to validate password  
//# is to reset password attempt
/////////////////////////////////////////////////////////////////
#include <Password.h> //http://www.arduino.cc/playground/uploads/Code/Password.zip
#include <Keypad.h> //http://www.arduino.cc/playground/uploads/Code/Keypad.zip

Password password = Password( "5612" );
const byte ROWS = 4; // Four rows
const byte COLS = 4; //  columns
// Define the Keymap
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = { 9,8,7,6 };// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte colPins[COLS] = { 5,4,3,2, };// Connect keypad COL0, COL1 and COL2 to these Arduino pins.


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

void setup(){
  pinMode(11, OUTPUT);  //green light
  pinMode(12, OUTPUT);  //red light
  Serial.begin(9600);
  keypad.addEventListener(keypadEvent); //add an event listener for this keypad
}

void loop(){
  keypad.getKey();
}

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

void software_Reset()
// Restarts program from beginning but
// does not reset the peripherals and registers
{
  asm volatile ("  jmp 0"); 
}

void checkPassword(){
  if (password.evaluate()){
    Serial.println("Authentication Successful");
    //Add code to run if it works
    digitalWrite(11, HIGH);//turn on
    delay(3000); //wait 3 seconds
    digitalWrite(11, LOW);// turn off
    http://Serial.write("*");    //reset loop here
    http://Serial.println("*");    //reset loop here
    software_Reset();
  }else{
    Serial.println("Authentication Failed!");
    //add code to run if it did not work
  }
}

Download app.box.com/s/8s6xgritvcnecuib17hm


The code above resets the arduino board upon successful Switch so that the user does need to press * the code for this is below in case you don't want this or in case you want to use that function in other projects

Code:

[size=12]void software_Reset()
// Restarts program from beginning but
// does not reset the peripherals and registers
{
  asm volatile ("  jmp 0");  
}[/size]


Last edited by jamied_uk on 17th December 2016, 20:41; edited 1 time in total

jamied_uk
Admin

Posts : 1981
Join date : 2010-05-09
Age : 34
Location : UK

http://address-shortner.co.uk

Back to top Go down

Re: Arduino Code For Password Protected Switch Keypad

Post by jamied_uk on 17th December 2016, 20:39

Other code links

xappsoftware.com/wordpress/2013/06/24/three-ways-to-reset-an-arduino-board-by-code

playground.arduino.cc/Main/InterfacingWithHardware#Output

instructables.com/id/Arduino-door-lock-with-password/step6/CODE

jamied_uk
Admin

Posts : 1981
Join date : 2010-05-09
Age : 34
Location : UK

http://address-shortner.co.uk

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum