RFID与Arduino的接口

时间:2018-09-07 14:10:54

标签: arduino arduino-uno rfid spi

我想将RC522与Arduino UNO板连接。我已使用下表连接RC522芯片。

SDA      10
SCK      13
MOSI     11
MISO     12
IRQ      UNUSED
GND      GND
RST      9
3.3V     3.3V
#include "SPI.h" // SPI library
#include "MFRC522.h" // RFID library (https://github.com/miguelbalboa/rfid)
const int pinRST = 9;
const int pinSDA = 10;
MFRC522 mfrc522(pinSDA, pinRST); // Set up mfrc522 on the Arduino
void setup() {
  SPI.begin(); // open SPI connection
  mfrc522.PCD_Init(); // Initialize Proximity Coupling Device (PCD)
  Serial.begin(230400); // open serial connection
}
void loop() {
  if (mfrc522.PICC_IsNewCardPresent()) { // (true, if RFID tag/card is present ) PICC = Proximity Integrated Circuit Card
    if(mfrc522.PICC_ReadCardSerial()) { // true, if RFID tag/card was read
      Serial.print("RFID TAG ID:");
      for (byte i = 0; i < mfrc522.uid.size; ++i) { // read id (in parts)
        Serial.print(mfrc522.uid.uidByte[i], HEX); // print id as hex values
        Serial.print(" "); // add space between hex blocks to increase readability
      }
      Serial.println(); // Print out of id is complete.
    }
  }
}

串行监视器在带RFID卡时显示为空白。

1 个答案:

答案 0 :(得分:0)

您使用的接线方法与我们在 RFID 与 Arduino 和 MFRC522 教程之一中使用的接线方法相同:

enter image description here

根据您提供的信息,很难判断您可能遇到什么问题。但是,这里有一些建议:

  • 您的串行监视器的波特率是否设置为 230400 以匹配您的代码?
  • 您是否尝试过在 mfrc522.PCD_Init() 之后添加延迟?延迟 5 毫秒左右就足够了
  • 您使用的是什么 Arduino 板?或许在 serial.begin() 之后也需要延迟

我们编写了一个教程,扩展了一些基础知识,可以帮助您解决问题:

An Introduction to RFID with Arduino