日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【毕设教程】单片机RFID模块的使用 - 物联网 嵌入式 毕业设计 stm32

發(fā)布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【毕设教程】单片机RFID模块的使用 - 物联网 嵌入式 毕业设计 stm32 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 1 簡介
  • 2 RFID模塊
    • 2.1 RFID模塊組成
  • 3 連接單片機
  • 4 代碼
  • 6 最后


1 簡介

Hi,大家好,這里是丹成學(xué)長,今天向大家介紹單片機項目開發(fā)常用外圍器件

RFID模塊的使用

大家可用于 課程設(shè)計 或 畢業(yè)設(shè)計


單片機-嵌入式畢設(shè)選題大全及項目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052


2 RFID模塊

射頻識別「Radio Frequency IDentification,簡稱RFID」技術(shù),又稱為無線射頻識別,是一種通信技術(shù),可通過無線電訊號識別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),而無需識別系統(tǒng)與特定目標(biāo)之間建立機械或光學(xué)接觸,普遍應(yīng)用于企業(yè)/校園一卡通、公交儲值卡、高速公路收費、停車場、小區(qū)管理等。

RFID 技術(shù)利用無線射頻方式在閱讀器和射頻卡之間進行非接觸雙向數(shù)據(jù)傳輸,以達到目標(biāo)識別和數(shù)據(jù)交換的目的。

2.1 RFID模塊組成

  • 標(biāo)簽(Tag,即射頻卡),耦合元件及芯片組成,標(biāo)簽含有內(nèi)置天線,用于和射頻天線間進行通信。
  • 閱讀器:讀取(在讀寫卡中還可以寫入)標(biāo)簽信息的設(shè)備。
  • 天線:在標(biāo)簽和讀取器間傳遞射頻信號。

這里使用的RFID-RC522模塊采用MFRC522芯片,SPI通訊方式,支持Mifarel S50、S70 、Pro、Desfire等類型的卡,附帶的白卡和鑰匙扣是S50卡,每張卡都有自己的標(biāo)識(UID)。

3 連接單片機

這里以arduino單片機為例,同學(xué)可以選其他單片機,如stm32,esp8266等等


RC522模塊的3.3V、GND分別對應(yīng)連接開發(fā)板的3.3V、GND,模塊的MOSI、MISO、SCK分別連接開發(fā)板的SPI接口11、12、13,模塊的SDA、RST分別連接開發(fā)板數(shù)字管腳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();// 使放置在讀卡區(qū)的IC卡進入休眠狀態(tài),不再重復(fù)讀卡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);} }

打開串口助手,講卡片接近讀卡器,可以看到,串口輸出卡片數(shù)據(jù):


單片機-嵌入式畢設(shè)選題大全及項目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052


6 最后

總結(jié)

以上是生活随笔為你收集整理的【毕设教程】单片机RFID模块的使用 - 物联网 嵌入式 毕业设计 stm32的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。