【毕设教程】单片机RFID模块的使用 - 物联网 嵌入式 毕业设计 stm32
文章目錄
- 1 簡介
- 2 RFID模塊
- 2.1 RFID模塊組成
- 3 連接單片機
- 4 代碼
- 6 最后
1 簡介
Hi,大家好,這里是丹成學長,今天向大家介紹單片機項目開發常用外圍器件
RFID模塊的使用
大家可用于 課程設計 或 畢業設計
單片機-嵌入式畢設選題大全及項目分享:
https://blog.csdn.net/m0_71572576/article/details/125409052
2 RFID模塊
射頻識別「Radio Frequency IDentification,簡稱RFID」技術,又稱為無線射頻識別,是一種通信技術,可通過無線電訊號識別特定目標并讀寫相關數據,而無需識別系統與特定目標之間建立機械或光學接觸,普遍應用于企業/校園一卡通、公交儲值卡、高速公路收費、停車場、小區管理等。
RFID 技術利用無線射頻方式在閱讀器和射頻卡之間進行非接觸雙向數據傳輸,以達到目標識別和數據交換的目的。
2.1 RFID模塊組成
- 標簽(Tag,即射頻卡),耦合元件及芯片組成,標簽含有內置天線,用于和射頻天線間進行通信。
- 閱讀器:讀取(在讀寫卡中還可以寫入)標簽信息的設備。
- 天線:在標簽和讀取器間傳遞射頻信號。
這里使用的RFID-RC522模塊采用MFRC522芯片,SPI通訊方式,支持Mifarel S50、S70 、Pro、Desfire等類型的卡,附帶的白卡和鑰匙扣是S50卡,每張卡都有自己的標識(UID)。
3 連接單片機
這里以arduino單片機為例,同學可以選其他單片機,如stm32,esp8266等等
RC522模塊的3.3V、GND分別對應連接開發板的3.3V、GND,模塊的MOSI、MISO、SCK分別連接開發板的SPI接口11、12、13,模塊的SDA、RST分別連接開發板數字管腳10、9。
實物連接:
4 代碼
#include <SPI.h> #include <MFRC522.h>#define SS_PIN 10 #define RST_PIN 9MFRC522 rfid(SS_PIN, RST_PIN);byte nuidPICC[4]; //存儲讀取的UIDvoid setup() {Serial.begin(9600);SPI.begin();rfid.PCD_Init();Serial.println("RC522初始化完成..."); }void loop() {//搜索新卡if ( ! rfid.PICC_IsNewCardPresent())return;// 驗證NUID是否可讀if ( ! rfid.PICC_ReadCardSerial())return;MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);// 檢查是否MIFARE卡類型if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&piccType != MFRC522::PICC_TYPE_MIFARE_1K &&piccType != MFRC522::PICC_TYPE_MIFARE_4K) {Serial.println("不支持讀取此卡類型");return;}// 保存讀取到的UIDfor (byte i = 0; i < 4; i++) {nuidPICC[i] = rfid.uid.uidByte[i];}Serial.print("十六進制UID:");printHex(rfid.uid.uidByte, rfid.uid.size);Serial.println();Serial.print("十進制UID:");printDec(rfid.uid.uidByte, rfid.uid.size);Serial.println();// 使放置在讀卡區的IC卡進入休眠狀態,不再重復讀卡rfid.PICC_HaltA();// 停止讀卡模塊編碼rfid.PCD_StopCrypto1(); }// 十六進制輸出 void printHex(byte *buffer, byte bufferSize) {for (byte i = 0; i < bufferSize; i++) {Serial.print(buffer[i] < 0x10 ? " 0" : " ");Serial.print(buffer[i], HEX);} }//十進制輸出 void printDec(byte *buffer, byte bufferSize) {for (byte i = 0; i < bufferSize; i++) {Serial.print(buffer[i] < 0x10 ? " 0" : "");Serial.print(buffer[i], DEC);} }打開串口助手,講卡片接近讀卡器,可以看到,串口輸出卡片數據:
單片機-嵌入式畢設選題大全及項目分享:
https://blog.csdn.net/m0_71572576/article/details/125409052
6 最后
總結
以上是生活随笔為你收集整理的【毕设教程】单片机RFID模块的使用 - 物联网 嵌入式 毕业设计 stm32的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gitbook asciidoc 项目生
- 下一篇: iPhone 短信欺骗漏洞披露,伪造短信