//btw im uing arduino richshield on windows 10.
#include "Display.h"
const int LEDRED = 4;
const int LEDGREEN = 5;
const int LEDBLUE = 6;
const int LEDYELLOW = 7;
const int key1 = 8;
const int key2 = 9;
String ePassword;
int Password = 1234;
int lastButtonState = HIGH;
int CNUM = 1;
int buttonstate = HIGH;
int input1;
int input2;
int input3;
int input4;
int state = 0;
int mode = 1;
void setup()
{
pinMode(LEDRED, OUTPUT);
pinMode(LEDGREEN, OUTPUT);
pinMode(LEDBLUE, OUTPUT);
pinMode(LEDYELLOW, OUTPUT);
pinMode(key1, INPUT_PULLUP);
pinMode(key2, INPUT_PULLUP);
Display.show("----");
delay(1500);
Serial.begin(9600);
}
void Key1_Action() {
int state = 0;
int button1 = digitalRead(key1);
int lastbuttonstate;
if (button1 != lastbuttonstate && buttonstate == LOW) // if button 1 is pressed.
{
CNUM++;
Serial.println(CNUM);
if (CNUM > 5) {
CNUM = 1;
delay(150);
}
}
if (buttonstate != button1) {
buttonstate = button1;
}
}
void loop()
{
if (mode == 1) {
Key1_Action() ;
int button2 = digitalRead(key2);
Display.showCharAt(0, '0' + CNUM);
if (button2 == LOW) {
//digitalWrite(LEDRED, HIGH);
int input1 = CNUM;
Display.showCharAt(0, '0' + input1);
mode++;
delay (1000);
}
}
if (mode == 2) {
Key1_Action() ;
int button2 = digitalRead(key2);
Display.showCharAt(1, '0' + CNUM);
if (button2 == LOW) {
//digitalWrite(LEDRED, HIGH);
int input2 = CNUM;
Display.showCharAt(1, '0' + input2);
mode++;
delay (1000);
}
}
if (mode == 3) {
Key1_Action() ;
int button2 = digitalRead(key2);
Display.showCharAt(2, '0' + CNUM);
if (button2 == LOW) {
//digitalWrite(LEDRED, HIGH);
int input3 = CNUM;
Display.showCharAt(2, '0' + input3);
mode++;
delay (1000);
}
}
if (mode == 4) {
Key1_Action() ;
int button2 = digitalRead(key2);
Display.showCharAt(3, '0' + CNUM);
if (button2 == LOW) {
//digitalWrite(LEDRED, HIGH);
int input4 = CNUM;
Display.showCharAt(3, '0' + input4);
mode++;
delay (1000);
}
}
if (mode == 5) {
//String ePassword = String(input1 + (input2 * 10) + (input3 * 100) + (input4 * 1000));
String ePassword = String(input1 + input2 + input3 + input4);
int button2 = digitalRead(key2);
//toInt(ePassword);
//toInt(Password);
if (ePassword.equals(Password)) {
digitalWrite(LEDGREEN, HIGH);
digitalWrite(LEDRED, LOW);
digitalWrite(LEDBLUE, LOW);
digitalWrite(LEDYELLOW, LOW);
Display.show(ePassword);
delay (1000);
}
if (ePassword.equals(Password))
{
digitalWrite(LEDGREEN, LOW);
digitalWrite(LEDRED, HIGH);
digitalWrite(LEDBLUE, LOW);
digitalWrite(LEDYELLOW, LOW);
Display.show("Err");
delay (1000);
}
}
}