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.写入到Serial Monitor上

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