[아두이노] RFID 모듈 사용해보기



안녕하세요 대짜이찐입니다.
이번엔 RFID 통신 모듈을 사용해보는
 시간을 가져보겠습니다.


RFID(Radio Frequency Identification)는 라디오 주파수를 이용해 ID를
식별하는 방식으로, 일명 전자태그라고 불립니다.

카드 or 키체인을 리더기 가까이에 가져가면 코일 유도전류가 발생하여,
태그에 내장된 칩에 전원을 공급하게 되고 리더기에서
저장된 태그를 읽어서 대상을 식별하게 됩니다.

제품의 스펙과 핀맵은 아래와 같습니다.

동작전류 : 3.3V/ 13~26mA
대기전류 : 3.3V/ 10~13mA
Sleep Current : < 80uA
최대 전류: < 30mA
동작 주파수 13.56Mhz

 

RFID 센서 모듈을 사용하기 위해서는 라이브러리가 필요합니다.
아두이노 IDE - 툴 - 라이브러리 관리에서 MFRC522을 다운로드 해주세요.

아래 예제는 RFID 카드를 인식하는 코드입니다.

준비물 :  아두이노 우노, RFID 키, RFID 카드키,  점퍼선, 브레드 보드

아두이노
RFID-RC522 모듈
3.3V
3.3V
GND
GND
D8
RST
-
IRQ
D12
MISO
D11
MOSI
D13
SCK
D10
SS(SDA)


/*
RFID 모듈
RFID 라이브러리가 필요. 아래링크에서 다운로드
https://github.com/miguelbalboa/rfid

www.devicemart.co.kr
*/

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

#define SDA_PIN 10   // SDA핀 설정
#define RST_PIN 9   // RESET 핀 설정

MFRC522 rfid(SDA_PIN, RST_PIN);   // rfid로 객체 생성

void setup()
{
 Serial.begin(9600);   // 통신 속도 9600으로 시리얼 통신 시작
 SPI.begin();      // SPI 통신 시작
 rfid.PCD_Init();   // RFID 시작
 Serial.println("touch a key");
 Serial.println();
}

void loop()
{

 // 카드를 읽으면 진행, 읽지못하면 리턴
 if ( ! rfid.PICC_IsNewCardPresent())
 {
   return;
 }

 // ID가 읽어지면 진행, 읽지못하면 리턴
 if ( ! rfid.PICC_ReadCardSerial())
 {
   return;
 }

 Serial.print("UID tag :");

 String content= ""; // 문자열 자료형 content 선언 

 for (byte i = 0; i < rfid.uid.size; i++) // tag를 읽고 출력하는 프로그램
 {
   // 삼항 연산자. 16(0x10)보다 작으면 " 0"을 아니면 " "을 출력
   Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
  
   // 16진수로 출력
   Serial.print(rfid.uid.uidByte[i], HEX);
  
   // 문자열을 string에 추가
   content.concat(String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "));
   content.concat(String(rfid.uid.uidByte[i], HEX));
 }

 Serial.println();
 Serial.print("Message : ");
 content.toUpperCase(); // string의 문자를 대문자로 수정

 // 당신의 카드 ID로 바꾸세요.
 // string의 1번부터 문자열 끝까지 반환 한 값과 tag 가 일치한다면
 if (content.substring(1) == "84 BA F3 1E")
 {
   Serial.println("접근 승인"); // 메시지 출력
   Serial.println();
   delay(3000);
 }
 else   
 {
   Serial.println("접근 불가"); // 메시지 출력
   delay(3000);
 }
}



RFID 모듈은 디바이스마트에서 구매하실 수 있습니다.

http://www.devicemart.co.kr/goods/view?no=1279308

감사합니다.


댓글 쓰기

0 댓글