ข้อคำแนะนำการเขียนโค้ด Arduino หน่อยครับ

พอดีผมกำลังทำโปรเจคเกี่ยวกับ Arduino โดยการเขียนโปรแกรมใช้รหัสล็อคตู้เซฟอ่ะครับ โดยวิธีการคือผู้ใช้สามารถกำหนดรหัสเองได้เพื่อล็อคและปลดล็อค แต่มันยังติดบ้างเงื่อนไขที่ผมไม่รู้จะเขียนยังไง รบกวนผู้รู้ช่วยแนะนำทีครับ นี้คือโค้ดที่ผมยังติดอยู่น่ะครับ

#include <Keypad.h>
#include <LiquidCrystal.h>
#define Password_Lenght 4 // เก็บสี่หลัก

LiquidCrystal LCD(A0, A1, A2, A3, A4, A5);
char Data_one[Password_Lenght]; //เก็บตัวเลขรหัสสี่หลัก
char Data_two[Password_Lenght];

byte maxPasswordLength = 4;
byte currentPasswordLength = 0;
byte data_count_one = 0,data_count_two = 0, master_count = 0;
bool Pass_is_good;
char customKey_one,customKey_two;
int state = 0;

const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

byte rowPins[ROWS] = {10, 9, 8, 7};
byte colPins[COLS] = {13, 12, 11};


Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup()
{
  LCD.setCursor(0,0);
  LCD.begin(16, 2);
  LCD.print("Enter password")

}
void lock()
{
  
}

void unlock()
{
  
}

void loop()
{
  customKey_one = keypad.getKey();
  if(Data_one != #,*) // เงื่อนไขค่าต้องไม่เปนชาบและสตาร์
  {
    
    Data_one[data_count_one] = customKey_one;
    LCD.setCursor(data_count_one,1);
    LCD.print(Data_one[data_count_one]);
    data_count_one++;
    
  }
  if(กดเลขครบสี่หลัก) เงื่อนไขที่สองต้องใส่ครบสี่หลักแล้วจึงจะกด#ได้
  {
    case '#': lock(); break; //เงื่อนไขกดครบสี่หลักแล้วกด#จะล็อค
  }

  }
      LCD.clear();
      LCD.setCursor(0, 0);
      LCD.print(Data_one);
      lock();
      state = 1;
}

if()
{
    customKey_two = keypad.getKey();
    if(Data_two != #,*) // ค่าต้องไม่เปนชบและสตาร์
  {
      Data_two[data_count_two] = customKey_two;
      LCD.setCursor(data_count_two,1);
      LCD.print(Data_two[data_count_two]);
      data_count_two++;
  }
      if(กดเลขครบสี่หลัก) เงื่อนไขที่สองพอใส่ครบสี่หลัก
      {
        case '*': unlock(); break; //เงื่อนไขกดครบสี่หลักแล้วกด*จะปลดลอค ต้องอยู่ภาะใต้เงื่อนไขด้านล่าง
      }

        // จะเอา data one มาเทียบกับ data two
        // โดยใช้เงื่อนไขด้านล่าง
        
  if((Data_two == Data_one))
  {
        LCD.print("Unlock");
        unlock();
        state = 0;
   }
        if((Data_two != Data_one))
        LCD.print("lock");
        lock();
        state = 0;
        reset (cunter)
    }
    void clearData()
    {
        LCD.clear();
    }

    //ให้วนกลับไปลูปแรกเพื่อใส่รหัสใหม่
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่