Ameba Arduino: [RTL8195] [RTL8710] RFID – 使用RFID RC522當做RFID Reader

材料準備

  • Ameba x 1
  • RFID RC522 x 1
  • RFID Tag

範例說明

這個範例裡使用RFID RC522模組來對RFID Tag作讀寫 。我們需要的library有
https://github.com/Ameba8195/Arduino/blob/master/libraries/RFID-RC522.zip
安裝library的方式請參考Arduino官方網站的教學文章將zip檔的library加入Ameba:
https://www.arduino.cc/en/Guide/Libraries#toc4
關於RFID RC522的使用說明請參考RFID RC522的範例。
RTL8195接線如下:
1

RTL8710接線如下:
1

我們打開範例 “File” -> “Examples” -> “AmebaMFRC522” -> “DumpInfo”, 編譯並上傳至Ameba之後按下Reset按鈕,並把RFID Tag靠近RFID RC522模組,就可以在SerialMonitor看到底下的結果
2

程式碼說明

建立一個MFRC522 instance,並且指定slave select pin及reset pin

MFRC522 mfrc522(SS_PIN, RST_PIN);

初始化mfrc522 instance

mfrc522.PCD_Init();

讀取mfrc522模組上的firmware版本

mfrc522.PCD_DumpVersionToSerial();

持續地尋找附近是否有RFID Tag靠近偵測

if ( ! mfrc522.PICC_IsNewCardPresent()) {
  return;
}

進行讀取偵測到的RFID Tag

if ( ! mfrc522.PICC_ReadCardSerial()) {
  return;
}

將RFID Tag裡的info.寫入到SerialMonitor上

mfrc522.PICC_DumpToSerial(&(mfrc522.uid));