Arduino Parallax RFID Reader 讀取識別碼

Ted Liou 2023.10.11 實體介面 最後更新 2026.05.31

快速摘要

Parallax RFID Reader(SKU28140)是一個 RFID 的讀取器,可以配合 Arduino 開發板使用。將這篇文章提供的程式碼燒錄到 Arduino 中,在感應到 RFID 標籤時將會透過序列埠輸出標籤的識別碼(UID)。

Parallax RFID Reader(SKU28140)是一個 RFID 的讀取器,可以配合 Arduino 開發板使用。將這篇文章提供的程式碼燒錄到 Arduino 中,在感應到 RFID 標籤時將會透過序列埠輸出標籤的識別碼(UID)。

Parallax RFID Reader 有四個腳位,分別是 VCC、GND、SOUT、/ENABLE。請以下列規則進行連接:

  • VCC → Arduino 5V

  • GND → Arduino GND

  • SOUT → 10 腳位

  • /ENABLE → 9 腳位

程式碼:

 1#include <SoftwareSerial.h>
 2
 3#define enablePin  9   // Connects to the RFID's ENABLE pin
 4#define rxPin      10  // Serial input (connects to the RFID's SOUT pin)
 5#define txPin      11  // Serial output (unused)
 6
 7#define BUFSIZE    11
 8
 9#define RFID_START  0x0A
10#define RFID_STOP   0x0D
11
12SoftwareSerial rfidSerial =  SoftwareSerial(rxPin, txPin);
13
14void setup()
15{
16  pinMode(enablePin, OUTPUT);
17  pinMode(rxPin, INPUT);
18
19  digitalWrite(enablePin, HIGH);
20  
21  Serial.begin(9600);
22  while (!Serial);
23  Serial.println("\n\nParallax RFID Card Reader");
24  
25  rfidSerial.begin(2400);
26
27  Serial.flush();
28}
29
30void loop()
31{
32  digitalWrite(enablePin, LOW);
33  
34  char rfidData[BUFSIZE];
35  char offset = 0;
36  rfidData[0] = 0;  
37  while(1)
38  {
39    if (rfidSerial.available() > 0)
40    {
41      rfidData[offset] = rfidSerial.read();
42      if (rfidData[offset] == RFID_START)
43      {
44        offset = -1;
45      }
46      else if (rfidData[offset] == RFID_STOP)
47      {
48        rfidData[offset] = 0;
49        break;
50      }
51          
52      offset++;
53      if (offset >= BUFSIZE) offset = 0;
54    }
55  }
56
57  Serial.println(rfidData);
58  Serial.flush();
59}

原始碼來源:RFID Card Reader - Serial - Parallax

作者

Ted Liou

現職 Unity C# 工程師,主要分享 Unity、C# 與 Vibe Coding 相關技術教學。

上一篇 Unity 使用鍵盤播放與停止影片(視覺化腳本) 下一篇 Unity 使用 RFID 控制物件開關(視覺化腳本)