Created
March 20, 2017 01:01
-
-
Save angelaperrone/17cefb1acfb1a473ac15d9c0cb697d3d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//http://playground.arduino.cc/Main/KeypadTutorial | |
//http://playground.arduino.cc/Main/MultiUserKeypadPassword | |
//http://forum.arduino.cc/index.php?topic=43803.0 | |
#include <Key.h> | |
#include <Keypad.h> | |
int i = 0; | |
int state = 1; //create state | |
char pressedNumbers[7]; | |
char phoneNumber1 [7] = {'3', '4', '8', '5', '0', '5', '8'}; | |
char phoneNumber2 [7] = {'3', '4', '8', '5', '0', '7', '3'}; | |
char phoneNumber3 [7] = {'3', '4', '8', '4', '0', '9', '5'}; | |
char phoneNumber4 [7] = {'9', '6', '6', '4', '8', '1', '0'}; | |
//const int numCount = 8; //7 numbers plus null | |
const byte ROWS = 4; // 4 rows | |
const byte COLS = 3; //3 columns | |
//Define the Keymap | |
char keys [ROWS] [COLS] = { | |
{'1', '2', '3'}, | |
{'4', '5', '6'}, | |
{'7', '8', '9'}, | |
{'#', '0', '*'} | |
}; | |
//Connect keypad ROW0, ROW1, ROW2 & ROW3 to Arduino Pins | |
byte rowPins[ROWS] = {5, 6, 8, 9}; | |
//connect keypad COL0, COL1, COL2 to Arduino Pins | |
byte colPins[COLS] = {2, 3, 4}; | |
//Create the Keypad | |
Keypad kpd = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); | |
#define ledpin 13 | |
void setup() { | |
//pinMode(ledpin, HIGH); | |
Serial.begin(9600); | |
} | |
void loop() { | |
char key = kpd.getKey(); | |
//if key is pressed | |
if (key) { | |
pressedNumbers[i] = key; //store entry into array | |
i++; | |
Serial.println(key); | |
if (i == 7) //if there have been 7 presses | |
{ | |
{ | |
//match string to password | |
if (pressedNumbers[0] == phoneNumber1[0] && | |
pressedNumbers[1] == phoneNumber1[1] && | |
pressedNumbers[2] == phoneNumber1[2] && | |
pressedNumbers[3] == phoneNumber1[3] && | |
pressedNumbers[4] == phoneNumber1[4] && | |
pressedNumbers[5] == phoneNumber1[5] && | |
pressedNumbers[6] == phoneNumber1[6] ) | |
{ | |
Serial.println("SUCCESS Number 1"); | |
Serial.println(1, DEC); | |
} else if (pressedNumbers[0] == phoneNumber2[0] && | |
pressedNumbers[1] == phoneNumber2[1] && | |
pressedNumbers[2] == phoneNumber2[2] && | |
pressedNumbers[3] == phoneNumber2[3] && | |
pressedNumbers[4] == phoneNumber2[4] && | |
pressedNumbers[5] == phoneNumber2[5] && | |
pressedNumbers[6] == phoneNumber2[6]) { | |
Serial.println("SUCCESS Number 2"); | |
} else if (pressedNumbers[0] == phoneNumber3[0] && | |
pressedNumbers[1] == phoneNumber3[1] && | |
pressedNumbers[2] == phoneNumber3[2] && | |
pressedNumbers[3] == phoneNumber3[3] && | |
pressedNumbers[4] == phoneNumber3[4] && | |
pressedNumbers[5] == phoneNumber3[5] && | |
pressedNumbers[6] == phoneNumber3[6]) | |
{ | |
Serial.println("SUCCESS Number 3"); | |
} else if (pressedNumbers[0] == phoneNumber4[0] && | |
pressedNumbers[1] == phoneNumber4[1] && | |
pressedNumbers[2] == phoneNumber4[2] && | |
pressedNumbers[3] == phoneNumber4[3] && | |
pressedNumbers[4] == phoneNumber4[4] && | |
pressedNumbers[5] == phoneNumber4[5] && | |
pressedNumbers[6] == phoneNumber4[6]) { | |
Serial.println("SUCCESS Number 4"); | |
} else { | |
Serial.println("NOT MATCHED"); | |
//state == 2; | |
} | |
{ | |
i = 0; | |
} | |
} | |
}; | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment