RFID卡識別碼讀取

#include <SPI.h> // SPI 函式庫

#include <MFRC522.h>                          // RFID 函式庫

#define RST_PIN 5                             // RST 接腳

#define SS_PIN 53                             // SS 接腳

MFRC522 mfrc522(SS_PIN, RST_PIN);             // 建立 mfrc522 物件


/** 初始值 */

void setup() {

  Serial.begin(9600); // 

  SPI.begin(); // SPI 初始化

  mfrc522.PCD_Init(); // RFID 初始化

}


void loop() {

  if ( !mfrc522.PICC_IsNewCardPresent())      // 測試是否有新卡

    return;

  if ( ! mfrc522.PICC_ReadCardSerial())       // 測試 RFID 卡是否可讀取

    return;

  Serial.print("Card UID:");                  // 顯示 RFID Tag 出廠識別碼

  dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);

  Serial.println();

  delay(1000);

}

void dump_byte_array(byte *buffer, byte bufferSize) {

  for (byte i = 0; i < bufferSize; i++) {

    Serial.print(buffer[i] < 0x10 ? " 0" : " ");

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

  }

}