[WAT-AK133]알찬 아두이노 예제 18 RFID Reader

RFID 리더기

본 예제는 알찬 아두이노 키트(입문자용) 의 RFID 리더 예제입니다.
MFRC522 칩을 사용한 리더기로 MIFARE RFID 카드를 읽고 쓸수 있습니다.

 

실험

부품 목록
부품명 아두이노 UNO R3

기능 아두이노 모듈
수량 1
부품 판매처 https://kit128.com/goods/view?no=337

 

부품명 RFID-RC522, 13.56Mhz, ISO/IEC 14443A

기능 RFID Reader
수량 1 EA
부품 판매처 https://kit128.com/goods/view?no=83

 

 

부품명 RFID Tag

기능 Tag
수량 1 EA
부품 판매처 https://kit128.com/goods/view?no=84

 

핀 연결

아래와 같이 RFID 리더기와  Arduino UNO R3 를 연결합니다.

 

RFID 리더기 핀 Arduino UNO R3
SDA 10
SCK 13
MOSI 11
MISO 12
GND GND
RESET 9
3.3V 3.3V

 

소스코드

최신 소스코드는 [파일]=>[예제]=>[WhiteAT UNO] => [Starter] => [18_RFID_DumpInfo] 에 있으며
라이브러리는 아두이노 개발환경  을 참조하세요

/*
 알찬 아두이노 키트(입문자용) 의 
 RFID-RC522로 받은 데이터를 화면에 출력하는 예제

 알찬 아두이노 키트(입문자용): https://kit128.com/goods/view?no=133

 개별 부품
 . WAT-Arduino128 : https://kit128.com/goods/view?no=64
 . RFID-RC522 : https://kit128.com/goods/view?no=83

 연결
 Arduino UNO RFID-RC522
 -------------------------------------------------
 10 SPI SS SDA
 13 SPI SCK SCK
 11 SPI MOSI MOSI
 12 SPI MISO MISO
 9 SPI RESET RST 
*/

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

#define RST_PIN 9 // 
#define SS_PIN 10 //

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

void setup() {
 Serial.begin(115200);
 SPI.begin(); // Init SPI bus
 mfrc522.PCD_Init(); // Init MFRC522
 ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details
 Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
}

void loop() {
 // Look for new cards
 if ( ! mfrc522.PICC_IsNewCardPresent()) {
 return;
 }

 // Select one of the cards
 if ( ! mfrc522.PICC_ReadCardSerial()) {
 return;
 }

 // Dump debug info about the card; PICC_HaltA() is automatically called
 mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

void ShowReaderDetails() {
 // Get the MFRC522 software version
 byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
 Serial.print(F("MFRC522 Software Version: 0x"));
 Serial.print(v, HEX);
 if (v == 0x91)
 Serial.print(F(" = v1.0"));
 else if (v == 0x92)
 Serial.print(F(" = v2.0"));
 else
 Serial.print(F(" (unknown)"));
 Serial.println("");
 // When 0x00 or 0xFF is returned, communication probably failed
 if ((v == 0x00) || (v == 0xFF)) {
 Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
 }
}
결과

RFID CARD ID (예: B5 07 F6 07)를 보여주고 1K에 대한 정보를 출력합니다.

 

제품 구매

[WAT-AK133] 알찬 아두이노 키트(초보자용) 은 https://kit128.com/goods/view?no=133 에서 구매하실 수 있습니다.

.

4 댓글

  1. 이수만

    예제 스케치의 주석문 한글도 깨지고.. 태그를 대면 시리얼 모니터 출력도 그래픽 처럼 네모와 철조망, 기억,니은 글씨로 나오는데 뭐가 문제인가요?

    • 화이트앳 글쓴이

      안녕하세요
      화이트앳입니다.~

      한글깨지는 것은 인코딩문제입니다.
      상단의 “아두이노 개발환경” 메뉴에 들어가시면 아두이노 개발 환경에 대한 설명이 있습니다.

      시리얼모니터에 깨지는 것은
      보레이트가 맞지 않아 그럴수 있습니다.

      감사합니다.

답글 남기기