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

จะทำอย่างไร ถ้าหากจะกำหนด password แบบอิสระ โดยการสร้างจาก keypad

siwatid 2 ปีที่ผ่านมา

 ถ้าจะ เขียนคำสั่งให้กำหนดpassword ให้สามารถเพิ่มได้แบบอิสระ ด่วยการ สร้างจาก keypad จะต้องเขียนคำสั่ง รูปแบบไหนครับ 

QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

เขียนโปรแกรมเก็บค่ารหัสผ่านไว้ใน eeprom หรือ sd card ครับ

QUOTE 
ความคิดเห็นที่ #2
siwatid 2 ปีที่ผ่านมา

eeprom  ต้องใช้หน่วย ความจำ นอกไหมครับ

QUOTE 
ความคิดเห็นที่ #3
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

arduino uno มี EEPROM ให้ครับไม่ต้องต่อเพิ่ม http://arduino.cc/en/Reference/EEPROM

QUOTE 
ความคิดเห็นที่ #4
siwatid 2 ปีที่ผ่านมา

มีพวก ตัวอย่าง eeprom มั้งไหมครับ // ผมก็ กำลังค้นหาอยู่ แต่ถ้าเจ้าของร้านมีจะขอบคุณมากครับ

QUOTE 
ความคิดเห็นที่ #5
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

มีตัวอย่างในเว็บ arduino.cc ครับ

  • http://arduino.cc/en/Tutorial/EEPROMWrite
  • http://arduino.cc/en/Tutorial/EEPROMRead
QUOTE 
ความคิดเห็นที่ #6
siwatid 2 ปีที่ผ่านมา

ผมลอง ทำแบบนี้เปลี่ยน โค๊ดนิดหน่อย มันก็ยัง สร้างได้แค่ รหัสเดียว ผมอยากจะสร้าง 2 รหัส แต่ ยังทำไม่ได้ เลย

#include <Password.h>                             

#include <EEPROM.h>  

byte pass1;  

byte pass2;  

byte pass3;  

byte pass4;  

    

   

int i=0;  

char newPassword[5]= " ";   

   

Password password1 = Password(newPassword);  

Password password2 = Password(newPassword);  

 

byte currentLength = 0;  

  

   

  

void setup()  

{  

  Serial.begin(9600);  

    

    

    

  pass1 = EEPROM.read(0);  

  delay(100);  

  pass2 = EEPROM.read(1);  

  delay(100);  

  pass3 = EEPROM.read(2);  

  delay(100);  

  pass4 = EEPROM.read(3);  

  delay(100);  

    

    

   for (int ii=0; ii<4; ii++)  

  {  

     newPassword[ii]=EEPROM.read(0+ii);  

     delay(5);  

 

   }  

       

        

       

      

      

 }  

    

  

  

void loop()  

  

{  

  if (Serial.available())  

  {  

    char input = Serial.read();  

    switch (input)  

    {  

        

        

       

      case '*': //reset password  

        password1.reset();  

        password2.reset(); 

        currentLength = 0;  

        Serial.println("\tPassword is reset!");  

      break;  

         case 'A': //evaluate password  

        if (password1.evaluate())  

        {  

          Serial.println("\tOK Password Correct");  

        password1.reset();  

        currentLength = 0;  

        }  

        else  

        {  

          Serial.println("\tNO Password Did Not");  

          password1.reset();  

          currentLength = 0;  

          Serial.println("\tPassword is reset!");  

        }  

        break;  

      case '#': //evaluate password  

        if (password2.evaluate())  

        {  

          Serial.println("\tOK Password Correct");  

        password2.reset();  

        currentLength = 0;  

        }  

        else  

        {  

          Serial.println("\tNO Password Did Not");  

          password2.reset();  

          currentLength = 0;  

          Serial.println("\tPassword is reset!");  

        }  

        break;  

          

        case 'n': // New Pasword  

             delay(100);  

             {  

               EEPROM.write(0,'2');  

               delay(100);  

               EEPROM.write(1,'5');  

               delay(100);  

               EEPROM.write(2,'1');  

               delay(100);  

               EEPROM.write(3,'4');  

               delay(100);  

                 

      break;  

        

      default:    

        password1 << input;  

                password2 << input;  

 

        currentLength++;  

     }  

    }  

   }  

  }  

QUOTE 
ความคิดเห็นที่ #7
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

ลองศึกษาโคดอีกซักนิดนะครับ ถ้าไม่ได้จริง ๆ เดียวผมช่วย ทำได้ขนาดนี้แล้วไม่น่ายากเกินความสามารถครับ

QUOTE 
ความคิดเห็นที่ #8
siwatid 2 ปีที่ผ่านมา

จะพยายามครับผม

QUOTE 
ความคิดเห็นที่ #9
siwatid 2 ปีที่ผ่านมา

ผมลอง ทำแบบนี้ พอเพิ่มไปมัน บอกว่า OK Password Correct หมดเลย  ไม่มีผิดพลาด ผมเลยสงสัยว่า แบบนี้ โค๊ดมันมีปัญหาไหมครับ //ถ้ามีปัญหา บอกใบ้ซักนิดอิอิ

#include <Password.h>                             

#include <EEPROM.h>  

byte pass1;  

byte pass2;  

byte pass3;  

byte pass4;  

    

   

int i=0;  

char newPassword[10]= {1,2,3,4,5,6,7,8,9,10};   

 

   

Password password = Password(newPassword); 

 

 

byte currentLength = 0;  

  

   

  

void setup()  

{  

  Serial.begin(9600);  

     

   pass1 = EEPROM.read(0);  

  delay(100);  

  pass2 = EEPROM.read(1);  

  delay(100);  

  pass3 = EEPROM.read(2);  

  delay(100);  

  pass4 = EEPROM.read(3);  

  delay(100);  

    

    

   for (int ii=0; ii<4; ii++)  

  {  

     newPassword[ii]=EEPROM.read(0+ii);  

     delay(5);  

 

   }  

    

      

 }  

    

  

  

void loop()  

  

{  

  if (Serial.available())  

  {  

    char input = Serial.read();  

    switch (input)  

    { 

        case '*': //reset password  

        password.reset();  

        currentLength = 0;  

        Serial.println("\tPassword is reset!");  

      break;      

      case '#': //evaluate password  

        if (password.evaluate())  

        {  

          Serial.println("\tOK Password Correct");  

        currentLength = 0;  

        }  

        else  

        {  

          Serial.println("\tNO Password Did Not");  

 

          currentLength = 0;  

          Serial.println("\tPassword is reset!");  

        }  

        break;  

          

        case 'n': // New Pasword  

             delay(100);  

             {  

               EEPROM.write(0,'2');  

               delay(100);  

               EEPROM.write(1,'5');  

               delay(100);  

               EEPROM.write(2,'1');  

               delay(100);  

               EEPROM.write(3,'4');  

               delay(100);  

                 

      break;  

      char input1 = Serial.read();  

      switch (input1){ 

         case '*': //reset password  

        password.reset();  

        currentLength = 0;  

        Serial.println("\tPassword is reset!");  

      break;      

      case '#': //evaluate password  

        if (password.evaluate())  

        {  

          Serial.println("\tOK Password Correct");  

        currentLength = 0;  

        }  

        else  

        {  

          Serial.println("\tNO Password Did Not");  

 

          currentLength = 0;  

          Serial.println("\tPassword is reset!");  

        }  

        break;  

          

        case 'n': // New Pasword  

             delay(100);  

             {  

               EEPROM.write(0,'2');  

               delay(100);  

               EEPROM.write(1,'5');  

               delay(100);  

               EEPROM.write(2,'1');  

               delay(100);  

               EEPROM.write(3,'4');  

               delay(100);  

                 

      break;  }

      default:    

      password << input; 

      password << input1; 

 

      

 

        currentLength++;  

     }  

    }  

   }  

  }  }

QUOTE 
ความคิดเห็นที่ #10
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

ก็ต้องลองเทสใช้งานจริงครับ ดูคร่าว ๆ แล้วไม่น่าจะมีปัญหา Smile

1
2
ถัดไป ›
แสดงความคิดเห็นที่ 1-10 จากทั้งหมด 16 ความคิดเห็น
ชื่อ
อีเมล
ข้อความ
  • ตอบกระทู้

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

สมาชิก Arduino All

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

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

Arduino All ขายดี

รหัสสินค้า A015
300.00 บาท
  • สั่งซื้อ
รหัสสินค้า A233
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A115
10.00 บาท
สินค้าหมด
รหัสสินค้า A238
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A237
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A014
90.00 บาท
  • สั่งซื้อ
รหัสสินค้า A225
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A097
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A474
7.00 บาท
สินค้าหมด
Go to Top