MFRC522 RFID 리더
일반
MFRC522 기반의 RFID 리더 모듈입니다. MIFARE Classic 타입의 카드만 지원하며 SPI 인터페이스를 사용합니다.

사양
- Power supply 3.3 V/5V
- Support ISO/IEC 14443 A/MIFARE
- Support mifare1 S50、mifare1 S70、mifare UltraLight、mifare Pro、mifare Desfire
- Operating distance in Read/Write mode up to 40 mm
- FIFO buffer handles 64 byte send and receive
- SPI interface
- Working current 13~26mA
- Idle current 10—13mA
- Working temperature -25 ~ 85℃
Mifare classic 카드의 구조
카드의 내부 저장소는 Block 단위로 구성되어 있으며 1 Block은 16바이트 입니다. 따라서 1kb 카드는 64 block * 16 bytes = 1024 bytes (1kb) 의 용량을 가지고 있습니다.
4개의 block 이 하나의 sector를 구성하며 각 sector의 마지막 block은 sector trailer라고 불리며 sector의 인증키 및 읽기/쓰기 권한을 설정하는 block 입니다. 또한 block 0 은 manufacture block으로 카드 제조사 코드 및 시리얼 넘버등이 기록되어 있습니다.
아래의 테이블은 Mifare 1k 카드의 저장소 구조를 표시한 것입니다.
그러므로 사용자데이터를 읽고 쓸때는 manufacture block 및 sector trailer를 제외한 block (아래 테이블에서 흰색으로 표시된 block, 1,2, 4,5,6,…60,61,62) 만 사용해야 합니다.

사용 가능한 GPIO
- 라즈베리파이 0~4
- 라즈베리파이 5
- 비글본 블랙/그린
- 젯슨 나노
- FT232H, FT2232H, FT4232H
명령
[IS_NEW_CARD]
카드가 리더에 인식되는 순간 한번만 true를 반환하고 그외의 경우는 false를 반환합니다.
항목 | 타입 | 설명 |
---|---|---|
카드 인식 여부 | READ | 카드 인식 여부를 반환합니다. |
[READ_UID]
카드의 타입과 UID를 읽어옵니다. 카드를 인식 후에 사용 가능합니다.
항목 | 타입 | 설명 |
---|---|---|
타입 | READ | 카드의 타입을 텍스트로 반환합니다. |
UID | READ | 카드의 Unique ID를 바이트 배열로 반환합니다. |
[READ_DATA]
카드에 저장된 데이터를 읽어옵니다. 카드를 인식 후에 사용 가능합니다.
항목 | 타입 | 설명 |
---|---|---|
블럭 주소 | WRITE | 데이터를 읽을 카드의 블럭 주소를 입력합니다. |
데이터 | READ | 블럭에서 읽은 데이터입니다. 한 블럭 전체를 읽어오므로 16바이트의 크기입니다. |
[WRITE_DATA]
카드에 최대 16바이트의 데이터를 씁니다. 카드를 인식 후에 사용 가능합니다.
항목 | 타입 | 설명 |
---|---|---|
블럭 주소 | WRITE | 데이터를 쓸 카드의 블럭 주소입니다. |
데이터 | WRITE | 블럭에 쓸 데이터입니다. 한 블럭 전체를 쓰므로 데이터의 크기가 16바이트보다 작으면 나머지 공간은 0x00 으로 채워지고 16바이트를 초과할 경우에는 16바이트까지만 씁니다. |
[STOP]
인식한 카드와 관련된 작업을 종료합니다. IS_NEW_CARD 명령으로 카드를 인식한 후 READ/WRITE 등의 작업 후에는 반드시 이 명령을 수행하여 작업을 종료해야 새 카드를 인식할 수 있습니다.
예제
목표
카드를 인식하면 카드의 UID를 대시보드 위젯에 표시합니다. 그리고 카드의 블록1에 0~100 사이의 랜덤한 정수를 기록하고 다시 읽어서 대시보드 위젯에 표시합니다.
부품
부품 | 갯수 |
---|---|
라즈베리파이 4 * | 1 |
MFRC522 | 1 |
연결
MFRC522 | GPIO |
---|---|
VIN(3.3V) | 3.3V |
GND | GND |
SCK | 11 (SPI0 SCLK) |
MISO | 9 (SPI0 MISO) |
MOSI | 10 (SPI0 MOSI) |
SDA | 8 (SPI0 CE0) |
RST | 3.3V |

프로젝트