RFID(射頻識(shí)別的縮寫)標(biāo)簽是一種身份識(shí)別系統(tǒng),它使用射頻中的電磁波來傳輸數(shù)據(jù)。一個(gè)簡(jiǎn)單的 RFID 系統(tǒng)僅由兩個(gè)組件組成:標(biāo)簽本身和讀/寫設(shè)備。讀/寫設(shè)備由射頻模塊和產(chǎn)生高頻電磁場(chǎng)的天線組成,而標(biāo)簽通常是包含存儲(chǔ)和處理信息的微芯片的無源設(shè)備。
在本教程中,我們將連接RDM6300 RFID 閱讀器模塊與 Arduino Nano。RDM6300 RFID 閱讀器是一種頻率為 125 kHz 的 RFID 模塊。該 RFID 模塊可以從 125 kHz 兼容的只讀標(biāo)簽讀取數(shù)據(jù)并讀/寫 125 kHz 卡。
將 RDM6300 與 Arduino 連接所需的組件
Arduino納米
RDM6300 RFID閱讀器模塊
125 kHz 標(biāo)簽
跳線
面包板
RDM6300 RFID閱讀器模塊
RDM6300 125 kHz EM4100 RFID 卡 ID 讀取器模塊設(shè)計(jì)用于從 125 kHz 兼容標(biāo)簽讀取和寫入數(shù)據(jù)。它可用于工作場(chǎng)所和住宅的監(jiān)控系統(tǒng)、個(gè)人身份驗(yàn)證、訪問管理、防偽、數(shù)字玩具和輸出控制系統(tǒng)等。RDM6300系列非接觸式RFID板卡采用先進(jìn)的射頻接收電路和內(nèi)置MCU架構(gòu),結(jié)合高效解碼算法,讀取EM4100及所有兼容卡。它使用 9600 波特率的串行 TTL 來傳輸 RFID 標(biāo)簽數(shù)據(jù)。任何帶有 UART 串??行外設(shè)的微控制器都可用于此 RFID 閱讀器。
RDM6300 RFID 閱讀器模塊引腳分配
RDM6300 RFID 閱讀器模塊規(guī)格:
工作頻率:125KHZ
波特率:9600
工作電壓:DC 5V
工作電流:《50mA
接收距離:20~50mm
尺寸(毫米):38.5 x 20
重量:7g
RDM6300 RFID 模塊類似于 EM-18 RFID 閱讀器模塊。兩個(gè)模塊具有相同的工作頻率,即 125 KHz,并支持串行 RS232/TTL 輸出,而 RC522 的工作頻率為 13.56 kHz。
將 RDM6300 與 Arduino 連接的電路圖
RDM6300 RFID閱讀器模塊與Arduino的接口示意圖如下:
如圖所示,將 Arduino 連接到 RDM6300 RFID 閱讀器模塊。RDM6300 模塊的 5V 和 GND 引腳連接到 Arduino Nano 的 5V 和 GND 引腳,而模塊的 TX 引腳連接到 Nano 的 D6。RX 引腳不是必需的,因?yàn)樵诒窘坛讨形覀儾幌?RFID 模塊發(fā)送數(shù)據(jù)。最后,將天線以任意極性連接到 ANT1 和 ANT2 引腳。
為RDM6300 RFID 閱讀器編程 Arduino
使用 Arduino Nano 和 RDM6300 的 RFID 讀卡器代碼非常簡(jiǎn)單。這里我們使用rdm6300 庫來讀取數(shù)據(jù)。完整的代碼在文檔末尾給出。代碼解釋如下:
通過包含 RDM6300 RFID 閱讀器庫來啟動(dòng)代碼。
?
#include
?
然后定義讀取傳感器數(shù)據(jù)和控制 LED 所需的所有必要引腳。
?
#define RDM6300_RX_PIN 6
?
然后在setup()函數(shù)中,將串行監(jiān)視器初始化為 9600 以進(jìn)行調(diào)試。此外,初始化 RFID 閱讀器模塊。
?
無效設(shè)置() { 序列號(hào).開始(9600); rdm6300.begin(RDM6300_RX_PIN); Serial.println("\n在 rdm6300 附近放置 RFID 標(biāo)簽..."); }
?
然后在loop()函數(shù)中,檢查標(biāo)簽是否在附近,如果是,則讀取標(biāo)簽號(hào)并將其打印到串行監(jiān)視器上。
?
無效循環(huán)() { 如果 (rdm6300.update()) Serial.println(rdm6300.get_tag_id(), HEX); 延遲(10); }
?
測(cè)試 RDM6300 RFID 閱讀器
準(zhǔn)備好代碼和硬件后,將 Arduino 連接到筆記本電腦并上傳代碼。之后,以 9600 的波特率打開串口監(jiān)視器,掃描模塊天線上的 RFID 標(biāo)簽。標(biāo)簽號(hào)將打印在串行監(jiān)視器上。
#include
#define RDM6300_RX_PIN 2
#define READ_LED_PIN 13
Rdm6300 rdm6300;
無效設(shè)置()
{
序列.開始(9600);
pinMode(READ_LED_PIN,輸出);
數(shù)字寫入(READ_LED_PIN,低);
rdm6300.begin(RDM6300_RX_PIN);
Serial.println("\n在 rdm6300 附近放置 RFID 標(biāo)簽...");
}
void loop()
{
/* 如果 tag_id 非零,update() 返回 true - 一個(gè)新標(biāo)簽就在附近!*/
if (rdm6300.update())
Serial.println(rdm6300.get_tag_id(), HEX);
digitalWrite(READ_LED_PIN, rdm6300.is_tag_near());
延遲(10);
}
?
評(píng)論