物聯網開發硬體應用
Would you like to react to this message? Create an account in a few clicks or log in to continue.
物聯網開發硬體應用

提升國內高職學生物聯網開發硬體應用入門技術 待進入科技大學再升級為物聯網開發硬體設計人員


您沒有登錄。 請登錄註冊

A29. MFRC522: RFID

向下  內容 [第1頁(共1頁)]

1A29. MFRC522: RFID Empty A29. MFRC522: RFID 周四 9月 20, 2018 8:39 pm

Admin


Admin

偵測 RFID,若有偵測 RFID 到則印出 ID

此為 LinkIt 7697 BlocklyDuino v3 新功能, 預計於七月初發佈

電路圖
LinkIt 7697
MFRC522 RFID 模組
RFID 卡片或鈕扣
麵包板
杜邦線
A29. MFRC522: RFID A61_mo10
A29. MFRC522: RFID Rfid10
透過 SPI 介面來連接此 RFID 模組

3V3 :接 3V3 電源供應
GND : 接 GND
MISO : 接到 P12,為 LinkIt 7697 的 SPI-MISO 腳位
MOSI : 接到 P11,為 LinkIt 7697 的 SPI-MOSI 腳位
SCK : 接到 P13,為 LinkIt 7697 的 SPI-SCK 腳位
SDA 或 SS: 接到 P10,此根腳位用來做 Chip Select

A29. MFRC522: RFID Spi10

積木畫布


A29. MFRC522: RFID A61_b10

此積木回傳的參數為 "字串物件",可以用來和字串做比對是否為已知的卡片 ID
請注意若要使用比較的積木,需將"字串物件"放於前面,"字串"放於後面,不然會編議失敗

A29. MFRC522: RFID A61_co10

產生的 Arduino 程式如下

#include <SPI.h>
#include <MFRC522.h>

String read_id;
MFRC522 rfid(/*SS_PIN*/ 10, /*RST_PIN*/ 9);

String mfrc522_readID()
{
String ret;
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial())
{
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);

for (byte i = 0; i < rfid.uid.size; i++) {
ret += (rfid.uid.uidByte[i] < 0x10 ? "0" : "");
ret += String(rfid.uid.uidByte[i], HEX);
}
}

// Halt PICC
rfid.PICC_HaltA();

// Stop encryption on PCD
rfid.PCD_StopCrypto1();
return ret;
}

void setup()
{
SPI.begin();
rfid.PCD_Init();
Serial.begin(9600);
}

void loop()
{
read_id = mfrc522_readID();
if (read_id != "") {
Serial.print("偵測到 RFID: ");
Serial.println(read_id);
}
delay(1000);
}

若有針刺到 RFID 卡片或鈕扣,會在序列埠監控視窗印出 ID
A29. MFRC522: RFID A61_a10


https://iotboard.666forum.com

回頂端  內容 [第1頁(共1頁)]

這個論壇的權限:
無法 在這個版面回復文章