RFID, NFC 모듈(RC522)

아두위키 : Arduwiki

NFC 통신 방식을 사용하는 RFID 리더입니다.

아두이노, 라즈베리파이 보드에서 사용 가능합니다.

사양

  • 작동전압 : 3.3V
  • 작동전류 : 13mA ~ 26mA
  • 인터페이스 : SPI
  • 동작 주파수 : 13.56MHz

하드웨어

연결

RC522 Arduino
3.3V 3.3V
RST 9
GND GND
MISO 12
MOSI 11
SCK 13
SDA 10

라이브러리

  • MFRC522 (by GithubCommunity)
  • SPI (기본 포함 라이브러리)

라이브러리 설치방법

예제 코드

태그된 ID 값을 시리얼 모니터에 출력합니다.

#include <SPI.h>
#include <MFRC522.h>
 
#define RST_PIN   9                            // reset핀은 9번으로 설정
#define SS_PIN    10                           // SS핀은 10번으로 설정
                                               // SS핀은 데이터를 주고받는 역할의 핀( SS = Slave Selector )
 
MFRC522 mfrc(SS_PIN, RST_PIN);                 // MFR522를 이용하기 위해 mfrc객체를 생성해 줍니다.
 
void setup(){
  Serial.begin(9600);                         // 시리얼 통신, 속도는 9600
  SPI.begin();                                // SPI 초기화
                                              // (SPI : 하나의 마스터와 다수의 SLAVE(종속적인 역활)간의 통신 방식)
  mfrc.PCD_Init();                               
}
 
void loop(){
  if ( !mfrc.PICC_IsNewCardPresent() || !mfrc.PICC_ReadCardSerial() ) {   
                                               // 태그 접촉이 되지 않았을때 또는 ID가 읽혀지지 않았을때
    delay(500);                                // 0.5초 딜레이 
    return;                                    // return
  } 
    
  Serial.print("Card UID:");                  // 태그의 ID출력
  
  for (byte i = 0; i < 4; i++) {               // 태그의 ID출력하는 반복문.태그의 ID사이즈(4)까지
    Serial.print(mfrc.uid.uidByte[i]);        // mfrc.uid.uidByte[0] ~ mfrc.uid.uidByte[3]까지 출력
    Serial.print(" ");                        // id 사이의 간격 출력
  }
  Serial.println(); 
}

실행 결과

구매 링크

공집사몰

공집사 스마트스토어