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

ใส่เพิ่มตรงไหนครับ

(Guest)
วิศรุต (Guest)
IP: 171.97.183.x
1 ปีที่ผ่านมา

ติดตรงปีกกาบรรทัดเคสอะครับ ต้องใ่ยังไงครับ

 

#include <MFRC522.h>

//Get library from https://github.com/ljos/MFRC522

//Sketch: gudjonholm@gmail.com

#include <SPI.h>

 

/*

Pins  SPI    UNO  Mega2560  Leonardo

1 (NSS) SAD (SS)   10     53        10

2       SCK        13     52        SCK1

3       MOSI       11     51        MOSI1

4       MISO       12     50        MISO1

5       IRQ        *      *         *

6       GND       GND     GND       GND

7       RST        6      ?         Reset

8      +3.3V (VCC) 3V3     3V3       3.3V

* Not needed

1 on ICPS header

*/

#define SAD 10

#define RST 6

MFRC522 nfc(SAD, RST);

int a = 13;

 

 

void setup() {

  

  SPI.begin();

  Serial.begin(115200);

  Serial.println("Looking for MFRC522.");

  nfc.begin();

  byte version = nfc.getFirmwareVersion();

  if (! version) {

    Serial.print("Didn't find MFRC522 board.");

    while(1); //halt

  }

 

  Serial.print("Found chip MFRC522 ");

  Serial.print("Firmware ver. 0x");

  Serial.print(version, HEX);

  Serial.println(".");

}

 

#define AUTHORIZED_COUNT 1 /*จะใช้การ์ดกี่ใบIf you want more Authorized of cards set the count here, and then add the serials below*/

byte Authorized[AUTHORIZED_COUNT][6] = {

 

                            {0xE3, 0xD, 0xAD, 0x35, 0xFF, 0xFF, }

                           /*,{0x10, 0x14, 0x39, 0x2E, 0xFF, 0xFF, }*/  /*f.เปลี่ยนรหัสบัตรตรงนี้ example how to add more authorized cards*/

                            

                          };

                          

void printSerial(byte *serial);

boolean isSame(byte *key, byte *serial);

boolean isAuthorized(byte *serial);

 

 

 

void loop() {

  byte status;

  byte data[MAX_LEN];

  byte serial[5];

  boolean Opening = false;

 

  status = nfc.requestTag(MF1_REQIDL, data);

   

    switch (isAuthorized(serial)){

        case {0xE3, 0xD, 0xAD, 0x35, 0xFF, 0xFF, }: 

        Serial.println("Hello there "); 

        break;

        default: 

    Serial.println(" other button   ");

      }

   

 

}//void loop()

 

boolean isSame(byte *key, byte *serial)

{

    for (int i = 0; i < 4; i++) {

      if (key[i] != serial[i])

      { 

        return false; 

      }

    }

    

    return true;

 

}

 

boolean isAuthorized(byte *serial)

{

    for(int i = 0; i<AUTHORIZED_COUNT; i++)

    {

      if(isSame(serial, Authorized[i]))

        return true;

    }

   return false;

}

 

void printSerial(byte *serial)

{

        Serial.print("Serial:");

    for (int i = 0; i < 4; i++) {

      Serial.print(serial[i], HEX);

      Serial.print(" ");

    }

}

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

โคดตามตัวอย่างในไลบารีเลยครับ ไม่ต้องแก้

ที่ผมแนะนำอีกอย่าง คืออย่าลืมเซตจัมเปอร์ที่บอร์ดจะเขียนไว้ให้ดูอยู่แล้วว่าติดต่อ แบบ I2C หรือ SPI ต้องเซตยังไง

QUOTE 
ความคิดเห็นที่ #2
(Guest)
วิศรุต (Guest)
IP: 125.25.18.x
1 ปีที่ผ่านมา

ือีกทีครับ พอโค้ด ข้างบน มันติด error ตรงบรรทัดที่เป็น case อะครับ ขึ้นแบบนี้ครับ expected primary-expression before '{' token แล้วผมหาไม่เจอว่าจะต้องใส่ { เพิ่มตรงไหนอีกครับ ถ้าต่อเป็น I2C  จะแก้ได้ไหมครับ หรือว่าไม่เกี่ยวกันครับ

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

จริง ๆ ผมอยากให้ลองไล่ดูเองจะได้ฝึกฝีมือ โคดเท่านี้ไม่น่าเกินฝีมือครับ ต่อแบบ i2c หรือ SPI ก็ได้มีในตัวอย่างในไลบารีครับ

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

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

สมาชิก Arduino All

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

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

Arduino All ขายดี

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