RFID,全稱Radio-Frequency Identification,中文名射頻識別,它可用于需要識別機制的許多應(yīng)用中。在本篇文章中,我們將主要介紹如何將Arduino Uno開發(fā)板與RFID-RC522模塊一起使用。 RFID-RC522模塊是RFID讀卡器,可以讀取近距離的RFID標(biāo)簽。為了讀取RFID標(biāo)簽,讀取器和標(biāo)簽必須具有相同的頻率。 RFID-RC522模塊僅能讀取13.56 MHz的高頻標(biāo)簽。
為了演示RFID-RC522模塊,本篇文章編寫了一個簡單的應(yīng)用程序,該應(yīng)用程序可以基于RFID標(biāo)簽識別用戶。
所需的材料清單:
–Arduino Uno開發(fā)板
–跳線
–RFID-RC522模塊
–RFID標(biāo)簽
如何將RFID-RC522連接到Arduino?
RFID-RC522模塊有八個引腳(本文中使用了七個引腳)。RFID-RC522模塊工作在3.3V電源。因此,需要將模塊的3.3V引腳連接到Arduino的3.3V。如果該模塊意外連接到Arduino的5V引腳,則可能損壞。按照MFRC522庫的文檔中的建議顯示了引腳分布。下表顯示了完整的引腳分布(僅適用于Arduino Uno!建議Mega、Nano等使用不同的引腳布局?。?/p>
RFID-RC522射頻模塊 | ARDUINO UNO |
SDA | 10 |
SCK | 13 |
MOSI | 11 |
MISO | 12 |
IRQ | 未使用 |
GND | GND |
RST | 9 |
3.3V | 3.3V |
如何將RFID-RC522連接到Arduino的示意圖。
如何編程RFID閱卡器?
以下代碼使用了一個現(xiàn)有的RFID庫,可以在這里找到:https://github.com/miguelbalboa/rfid。如果您使用的是Arduino IDE,則可以通過單擊“ Sketch-> Include Library-> Manage Libraries”輕松安裝該庫。然后,搜索“ RFID”,您將找到標(biāo)題為“MFRC522 by GithubCommunity”的條目。如果找不到這樣的條目,建議您訪問庫的官方網(wǎng)站以獲得更多幫助。為了使RFID讀卡器運行,您必須設(shè)置庫文件、SPI連接以及讀卡器。幸運的是,該庫提供了兩個非常方便的讀取標(biāo)簽的便捷函數(shù):第一個函數(shù)允許檢測是否存在RFID標(biāo)簽/卡。第二個函數(shù)讀取RFID標(biāo)簽ID。在以下代碼中,使用for循環(huán)用于標(biāo)簽。在每次迭代中,將讀取一個字節(jié)并將其打印為十六進制值(00..FF)。當(dāng)每個用戶擁有不同的RFID標(biāo)簽時,可以使用這種機制來識別用戶。
#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(9600); // 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.
}
}
}
將代碼成功上傳到Arduino后,如果RFID卡或標(biāo)簽在RFID讀卡器附近,則串口監(jiān)視器(Tools-> Serial Monitor或快捷鍵Ctrl + Shift + M)上的輸出應(yīng)如下所示( 圖片顯示了RFID卡的位置以及相應(yīng)的串口監(jiān)視器輸出):
編輯:hfy
-
RFID
+關(guān)注
關(guān)注
388文章
6155瀏覽量
237962 -
讀卡器
+關(guān)注
關(guān)注
2文章
416瀏覽量
39379
發(fā)布評論請先 登錄
相關(guān)推薦
評論