Home> Note> Arduino>MF-RC522(RFID)

Arduino 無線門禁系統 - MF-RC522(RFID)

2016.08.07

  第一篇已經提過這個東西的材料、功能,先複習一下成品,如下圖

Lose image

  這篇要介紹的是 Radio frequency identification (RFID) ,如下圖:

Lose image Lose image

先介紹一些基本知識,近場通訊(英語:Near Field Communication,NFC),又稱近距離無線通訊,是一種短距離的高頻無線通訊技術,允許電子裝置之間進行非接觸式點對點資料傳輸,在十公分(3.9英吋)內交換資料。

NFC與RFID之特性:數據的讀寫機能、容易小型化和多樣化的形狀、可重複使用、穿透性、數據的記憶容量大。

另外值得一提的是,高速公路,遠通所架設的計費系統,也是使用RFID,但是他的功率較強,還有在高速行駛中也可以馬上讀取資料的技術,就是它們的商業機密了

NFC為非接觸式傳輸,利用電波和電磁共生的原理,進行資料讀取。Passive Tag可永久免用電池電力,靠著天線端(Reader)來通信。

  接下來就討論硬體部分,我自己手邊的就有兩種版本,使用上的程式碼並沒有差別,但是腳位有差,兩者順序不相同

腳位差別 (左至右)

藍色RFID

  • SDA
  • SCK
  • MOSI
  • MISO
  • IRQ
  • GND
  • RST
  • 3.3V

紅色RFID

  • IRQ
  • NSS
  • SCK
  • MOSI
  • MISO
  • GND
  • RST
  • VCC

同樣的 IRQ 都是不接,藍色的SDA = 紅色的 (NSS)腳位,其餘相同。

接法

  • IRQ    <=> X
  • NSS   <=> Pin10
  • SCK   <=> Pin13
  • MISO <=> Pin11
  • MOSI <=> Pin12
  • GND  <=> GND
  • RST   <=> Pin9
  • VCC   <=> 5V
Lose image
Lose image

library

這部分,是在arduino.cc,上面提供的library,再做修改的,可以更簡單讀到資料,當然少了很多功能,如覆蓋卡片資料等等。

完整版library :官網連結 MF-RC522

簡易版library :我就不方便做提供了,我授課時會使用到,為保護上課同學的權益。

程式碼

#include <SPI.h>
#include <RFID.h>
#define SS_PIN 10
#define RST_PIN 9
#define bee 7
RFID rfid(SS_PIN,RST_PIN);
boolean state = true; 
int serNum[5];
void setup(){
    Serial.begin(9600);
    SPI.begin();
    rfid.init();
}
void loop(){
    if(rfid.isCard()){
        if(rfid.readCardSerial()){
            Serial.print(rfid.serNum[0],DEC);
            Serial.print(" ");
            Serial.print(rfid.serNum[1],DEC);
            Serial.print(" ");
            Serial.print(rfid.serNum[2],DEC);
            Serial.print(" ");
            Serial.print(rfid.serNum[3],DEC);
            Serial.print(" ");
            Serial.print(rfid.serNum[4],DEC);
            Serial.println(" ");
        }
    }
}

----------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------

Top