SKU:RB-03T019 RFID Serial Module

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索


Xv1.jpg

目錄

產(chǎn)品概述

你想了解刷卡考勤系統(tǒng)的工作原理么?你想了解公共汽車刷卡系統(tǒng)的工作方式嗎?
RFID 射頻識別是一種非接觸式的物體識別技術(shù),它可以通過射頻信號自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù),因此許多互動項目正是借用這一特性來實現(xiàn)對物體的識別的。通常來講,一個最基本的 RFID 識別系統(tǒng)主要由以下三部分組成:
標(biāo)簽是由耦合元件及芯片組成,每個標(biāo)簽具有唯一的電子編碼,附著在物體上標(biāo)識目標(biāo)對象
閱讀器(Reader)是讀?。ㄓ袝r還可以寫入)標(biāo)簽信息的設(shè)備,可設(shè)計為手持式或固定式
天線(Antenna)在標(biāo)簽和讀取器間傳遞射頻信號。

規(guī)格參數(shù)

  1. 產(chǎn)品名稱:RFID S hield Module v1.0
  2. 產(chǎn)品貨號:RB-03T019
  3. 工作電壓:DC3.3V/DC5V
  4. 功率消耗:最小電流:3uA;平均電流:70mA/5V、43mA/3.3V;峰值電流:小于 160mA
  5. 接口類型:UART
  6. 數(shù)據(jù)傳輸速率:19200bit/s
  7. 讀卡距離:0-5cm(取決于天線工作環(huán)境和卡的性能)
  8. 產(chǎn)品類型:無線射頻通信
  9. PCB 工藝:FR4 雙面沉金
  10. 固定孔尺寸:3.2mm
  11. 最大固定孔間距:55.88mm
  12. 最小固定孔間距:33.02mm
  13. 對角固定孔間距:64.90mm
  14. 工作溫度:-20℃-+70℃
  15. 重量:22g
  16. 產(chǎn)品尺寸:60.96mm x 38.10mm x 8.05mm
  17. 包裝方式:防靜電袋密封
  18. 選配配件:Arduino UNO 控制器、USB-TTL 模塊(FT232)等

發(fā)貨清單

  • RFID Shield Module v1.0*1
  • 4P 傳感器連接線*1
  • 標(biāo)簽(藍色門禁卡)*1

UART 接口通訊協(xié)議

異步半雙工,1 位起始位+8 位數(shù)據(jù)位+1 位停止位
波特率:19200bps
發(fā)送數(shù)據(jù)格式:命令頭+長度字+命令字+數(shù)據(jù)域+校驗字
命令頭:0xAA 0xBB,若后續(xù)數(shù)據(jù)中包含 0xAA,則隨后補充 1 字節(jié)
0x00 以區(qū)分命令頭但長度字不增加
長度字:指明長度字到數(shù)據(jù)域最后 1 字節(jié)的字節(jié)數(shù)
命令字:本條命令的含義
數(shù)據(jù)域:此項可以為空
校驗字:從長度字到數(shù)據(jù)域最后 1 字節(jié)的逐字節(jié)異或值
成功:命令頭+長度字+接收到的命令字+數(shù)據(jù)域+校驗字
失?。好铑^+長度字+接收到的命令字取反+校驗字
命令列表
Xv2.jpg

使用方法

使用硬件

  1. USB-TTL 模塊 * 1個
  2. RFID Shield Module v1.0 * 1個
  3. USB 數(shù)據(jù)通信線 * 1條
  4. Carduino UNO 控制器 * 1個
  5. Sensor Shield for Arduino v5.0 * 1個

需要軟件

FT232 驅(qū)動程序下載

鏈接:https://pan.baidu.com/s/1M2wXrGJG-N9lJzkW6IQHFA 提取碼:l9c6

AccessPort 串口調(diào)試助手下載地址

鏈接:https://pan.baidu.com/s/1vnuDoH1ZTv4_4bWS1ESbyA 提取碼:zqlk

讀取ID

連接硬件

如圖所示,利用4P線將RFID Shield Module v1.0 與 USB-TTL 模塊連接起來(注意:電源、地和信號的正確連接。其中RFID模塊的TX對應(yīng)連接USB-TTL模塊的RX,

RFID模塊的RX對應(yīng)連接USB-TTL模塊的TX)。

Xv3.jpg
在硬件連接完成后,用串口調(diào)試工具打開 Serial Dongle 對應(yīng)的串口,將波特率設(shè)置為 19200,然后以 HEX 格式發(fā)送讀卡的命令 AA BB 02 20 22(一共 5 個字節(jié)):
Xv4.jpg
如果此時沒有卡在讀卡器的作用范圍之內(nèi),RFID 模塊將通過串口返回 HEX 格式

的 AA BB 02 DF DD 0D 0A(7 個字節(jié)):

Xv5.jpg
如果此時有卡在讀卡器的作用范圍之內(nèi),RF ID 模塊上的紅色 LED 會點亮,同時通過串口返回 HEX 格式的 AA BB 06 20 FE 39 45 F5 51 0D 0A(11 個字節(jié)),其中 20 之后開始的 5 個字節(jié) FE 39 45 F5 51 即是標(biāo)簽的 ID,不同的標(biāo)簽返回的 ID 值也是不一樣的,而我們正是通過對該 ID 值的判斷來區(qū)分不同的物體的。
Xv6.jpg

使用Arduino識別

在得到了相應(yīng)的標(biāo)簽的 ID 值后,我們就可以在 Arduino 中來進行識別了,硬件連接上依然是通過傳感器擴展板上的 COM 接口來連接我們的串口 RFID 模塊:
Xv7.jpg
與之對應(yīng)的 Arduino 代碼如下所示,其中我們要檢測的標(biāo)簽 ID 是 FE 39 45 F5 51,當(dāng) Arduino 檢測到相應(yīng)的標(biāo)簽后,會將 13 號數(shù)字 I/O 端口上的 LED 點亮 1 秒鐘。
例子程序
int val = 0;
int ledPin = 13;
int status = 0;
unsigned char searchCMD[] = {0xAA, 0xBB,0x02, 0x20, 0x22};
unsigned char searchRES[5];

void setup()
{
  Serial.begin(19200);
  pinMode(13, OUTPUT);
  Serial.println("->WB Start"); 
}

int searchCard()
{
  Serial.write(searchCMD, 5);
  delay(100);
  status = 0;
  while(true) {
    if (Serial.available()>0) {
      val = Serial.read();
      
      switch (status) {
        case 0: // parse 0xAA
          if (val == 0xAA) status = 1;
          break;
        case 1: // parse 0xBB
          if (val == 0xBB) status = 2;
          else return -1;
          break;
        case 2:
          if (val == 0x06) status = 3;
          else return -1;
          break;
        case 3:
          if (val == 0x20) status = 4;
          else return -1;
          break;
        case 4:
          if (val == 0xFE) status = 5;
          else return -1;
          break;
        case 5:
          if (val == 0x39) status = 6;
          else return -1;
          break;
        case 6:
          if (val == 0x45) status = 7;
          else return -1;
          break;
        case 7:
          if (val == 0xF5) status = 8;
          else return -1;
          break;
        case 8:
          if (val == 0x51) status = 9;
          else return -1;
          break;
        case 9:
          searchRES[status - 4] = val;
          status ++;
          break;
        case 10:
          return 0; // read successfully
          break;
        default:
          return -1;
          break;
      }
      
    }
  }
}

void loop()
{
  if (searchCard()!= -1) {
    if (searchRES[0] == 0xFE && searchRES[1] == 0x39 && searchRES[2] == 0x45 && searchRES[3] == 0xF5 && searchRES[4] == 0x51) 
      digitalWrite(13, HIGH);
//     delay(1000);
    else
      digitalWrite(13, LOW);
//     delay(1000);
}
}
Xv8.jpg
Xv9.jpg

相關(guān)推薦

Erweima.png

產(chǎn)品購買地址

Arduino RFID 串口模塊

周邊產(chǎn)品推薦

USB-TTL模塊
RS232-TTL轉(zhuǎn)換器

相關(guān)問題解答

基于RFID模塊與LCD2004液晶屏的Arduino門禁顯示器

相關(guān)學(xué)習(xí)資料

借助Arduino做一個RFID門禁系統(tǒng)教程
奧松機器人技術(shù)論壇