lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

ช่วยดูโค้ดหน่อยครับว่ามันผิดพลาดตรงไหน

surit
surit (Guest)
IP: 180.183.58.x
1 ปีที่ผ่านมา

นี่คือโค้ดครับ ผมได้ simulator ข้อผิดพลาดเอาไว้ตามลิงค์นี้น่ะครับ http://youtu.be/X2J6l6tiEx4
คือผมไม่ทราบว่ามันต้องมีเงื่อนไขอะไรอีกรึเปล่า ตอนใส่รหัสครั้งที่สองเพื่อที่จะปล็คล็อค
และถ้าผมจะกำหนดเงื่อนไขให้การใส่รหัสนั้นต้องเป็นเฉพาะตัวเลขเท่านั้น และเงื่อนไขการกดล็อคและปล็ดล็อคต้องเป็นตัวเลขสี่หลักเท่านั้นไม่ทราบว่าต้องทำยังไงครับ

 

 

 

 

#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; 

boolean Pass_is_good1 = false;

boolean Pass_is_good2 = false;

boolean Pass_is_good3 = false;

boolean Pass_is_good4 = false;

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.begin(16, 2);

 

}

 

void lock()

{

  

}

 

void unlock()

{

  

}

 

void loop()

{

  if(state == 0)

  {

    while(1)

    {

      customKey_one = keypad.getKey();

      if (customKey_one) 

    {

      if(customKey_one == '#')

      {

        break;

      }

          Data_one[data_count_one] = customKey_one; 

          LCD.setCursor(data_count_one,1); 

          LCD.print(Data_one[data_count_one]); 

          data_count_one++;

        

        

      }

    }

    

      LCD.clear();

      LCD.setCursor(0, 0);

      LCD.print("lock");

      lock();

      state = 1;

  }

  else

  {

    while(1)

    {

      customKey_two = keypad.getKey();

    if (customKey_two) 

    {

      if(customKey_two == '#')

      {

        break;

      }

      Data_two[data_count_two] = customKey_two; 

      LCD.setCursor(data_count_two,1); 

      LCD.print(Data_two[data_count_two]); 

      data_count_two++; 

     

      

  }

  }

 

  

      LCD.clear();

      LCD.setCursor(0, 0);

 

      

        if(Data_two[0] == Data_one[0])

        {

         Pass_is_good1 = true;

        }

        else { Pass_is_good1 = false; }

        if(Data_two[1] == Data_one[1])

        {

         Pass_is_good2 = true;

        }

        else { Pass_is_good2 = false; }

        if(Data_two[2] == Data_one[2])

        {

         Pass_is_good3 = true;

        }

        else { Pass_is_good3 = false; }

        if(Data_two[3] == Data_one[3])

        {

         Pass_is_good4 = true;

        }

        else { Pass_is_good4 = false; }

 

        

      

      if( (Pass_is_good1 == true)&&(Pass_is_good2 == true)&&(Pass_is_good3 == true)&&(Pass_is_good4 == true) )

      {

        LCD.print("Unlock");

        unlock();       

        state = 0;

      }

      else

      {

        LCD.print("lock");

        lock();

        state = 0;

      }

        

  

  

    }

    

}

1
แสดงความคิดเห็นที่ 0-0 จากทั้งหมด 0 ความคิดเห็น
ข้อความ
ชื่อผู้โพส
ข้อมูลสำหรับการติดต่อกลับ (ไม่เปิดเผย เห็นเฉพาะเจ้าของร้าน)
อีเมล
เบอร์มือถือ
  • ตอบกระทู้

หมวดหมู่สินค้า

ติดตามสินค้า

สินค้าใหม่

รหัสสินค้า AT13070
8.00 บาท
  • สั่งซื้อ
รหัสสินค้า AT10058
290.00 บาท
  • สั่งซื้อ

ระบบสมาชิก

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

สถิติร้านค้า

หน้าที่เข้าชม1,809,082 ครั้ง
ผู้ชมทั้งหมด513,143 ครั้ง
เปิดร้าน15 ก.ย. 2557
ร้านค้าอัพเดท13 ธ.ค. 2560

ติดต่อเรา

0988257936
facebook
Go to Top