Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* LIBRALIES */
- #include "Display.h"
- /* DIGITS */
- const int RedLed = 4;
- const int GreenLed = 5;
- const int ConfirmButton = 8;
- const int InputButton = 9;
- /* VARIABLES */
- int input_button_counter = 0;
- int confirm_button_counter = 1; // digit_pos
- int d1=0; //first digit
- int d2=0; //second digit
- int d3=0; //third digit
- int d4=0; //fourth digit
- bool input_flag = true;
- void setup() {
- Serial.begin(9600);
- pinMode(GreenLed, OUTPUT);
- pinMode(RedLed, OUTPUT);
- pinMode(ConfirmButton, INPUT_PULLUP);
- pinMode(InputButton, INPUT_PULLUP);
- }
- int getValue(int num){
- if(num >= 4){
- num = 1;
- } else {
- num++;
- }
- return num;
- }
- bool isCorrect(){
- if(d1 == 2 && d2 == 1 && d3 == 3 && d4 == 4){
- return true;
- }
- return false;
- }
- void loop() {
- // INPUT BUTTON
- if(digitalRead(InputButton) == LOW ){
- if(input_flag == true){
- for(int i = 0; i < 4; i++){
- digitalWrite (GreenLed, HIGH);
- digitalWrite (RedLed, HIGH);
- delay(250);
- digitalWrite (GreenLed, LOW);
- digitalWrite (RedLed, LOW);
- delay(250);
- }
- input_flag = false;
- }else{
- digitalWrite (GreenLed, HIGH);
- delay(250);
- digitalWrite (GreenLed, LOW);
- }
- input_button_counter = getValue(input_button_counter);
- }
- // CONFIRM BUTTON
- if (digitalRead(ConfirmButton) == LOW && input_flag == false)
- {
- bool result = false;
- switch(confirm_button_counter){
- case 1: d1 = input_button_counter;
- break;
- case 2: d2 = input_button_counter;
- break;
- case 3: d3 = input_button_counter;
- break;
- case 4: d4 = input_button_counter;
- result = isCorrect();
- input_flag = true;
- break;
- }
- Serial.print("[");
- Serial.print(confirm_button_counter);
- Serial.print("] ");
- Serial.print("Confirm button: ");
- Serial.println(input_button_counter);
- if(result == false && input_flag == true){
- Serial.println("Password is wrong!");
- digitalWrite (RedLed, HIGH);
- delay(2000);
- digitalWrite (RedLed, LOW);
- }else if(result == false){
- digitalWrite (RedLed, HIGH);
- delay(250);
- digitalWrite (RedLed, LOW);
- }else if(result == true){
- Serial.println("Password is correct!");
- for(int i = 0; i < 8; i++){
- digitalWrite (GreenLed, HIGH);
- delay(250);
- digitalWrite (GreenLed, LOW);
- }
- }
- if(input_flag == true){
- input_button_counter = 0;
- }
- confirm_button_counter = getValue(confirm_button_counter);
- }
- Display.show(input_button_counter);
- delay(50);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement