Help with my arduino code for my 12c LCD and keypad


#1

Anyone good with Arduino. I have my code that works, I have an lcd and keypad connected to my Arduino. The code I have right now asks for a password and when i enter it it says correct. I would like help in adding to this. I would like for the code to ask for seven codes after the password is entered correctly. the codes are 1234, 2345, 3456, 4567, 5678, 6789, and 7890. Once the codes are entered correctly it will have the LCD say READY. If any code is wrong it will say incorrect.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#define Password_Length 8

int signalPin = 12;

char Data[Password_Length];
char Master[Password_Length] = "1234567";
byte data_count = 0, master_count = 0;
bool Pass_is_good;
char customKey;

const byte ROWS = 4;
const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup(){
  lcd.init();
  lcd.backlight();
  pinMode(signalPin, OUTPUT);
}

void loop(){

  lcd.setCursor(0,0);
  lcd.print("Enter Password:");

  customKey = customKeypad.getKey();
  if (customKey){
    Data[data_count] = customKey;
    lcd.setCursor(data_count,1);
    lcd.print(Data[data_count]);
    data_count++;
  }

  if(data_count == Password_Length-1){
    lcd.clear();

    if(!strcmp(Data, Master)){
      lcd.print("Correct");
      digitalWrite(signalPin, HIGH);
      delay(5000);
      digitalWrite(signalPin, LOW);
    }
    else{
      lcd.print("Incorrect");
      delay(1000);
    }

    lcd.clear();
    clearData();
  }
}

void clearData(){
  while(data_count !=0){
    Data[data_count--] = 0;
  }
  return;
}

#2

Hello and welcome to the Particle Community @Gatorjjd1980.

Your title and the code appear to be Arduino related. Could you confirm this is a question related to Particle or Arduino. If the later, suggest you post on that forum.


#3

This sounds like a class assignment to learn about finite state machines.


#4

Its an assignment im trying to finish up for creating a verifying device with my arduino