목차
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 에서 구매하실 수 있습니다.
.
raspberry pi2 에서는 작동이 안되나요? 핀 배열이 어떻게 되어 야하나요? 연 결하면 빨간 불은 들 어오는데 작동이 되는건 지모르겠네요.
안녕하세요 화이트앳입니다.
라즈베리파이 에서도 spi 통신으로 사용 가능합니다.
현재 아두이노 예제만 제공 중이라 라즈베리파이에 대해서는 도와 드리기 힘듭니다.
감사합니다.
예제 스케치의 주석문 한글도 깨지고.. 태그를 대면 시리얼 모니터 출력도 그래픽 처럼 네모와 철조망, 기억,니은 글씨로 나오는데 뭐가 문제인가요?
안녕하세요
화이트앳입니다.~
한글깨지는 것은 인코딩문제입니다.
상단의 “아두이노 개발환경” 메뉴에 들어가시면 아두이노 개발 환경에 대한 설명이 있습니다.
시리얼모니터에 깨지는 것은
보레이트가 맞지 않아 그럴수 있습니다.
감사합니다.