ESP32 C3 Super Mini RFID
이 튜토리얼에서는 ESP32 C3 Super Mini와 RC522 RFID/NFC 리더를 사용하여 RFID/NFC 태그의 정보를 읽는 방법을 보여줍니다. RC522 모듈은 3.3V 장치이므로 ESP32 C3 Super Mini와 완벽하게 어울립니다.
이 튜토리얼에서 배울 내용:
- RFID-RC522 모듈이 무엇이며 어떻게 태그를 읽는지.
- RFID-RC522 모듈의 각 핀이 하는 일.
- SPI를 통해 RC522 모듈을 ESP32 C3 Super Mini에 배선하는 방법.
- Arduino IDE에 MFRC522 라이브러리를 설치하는 방법.
- 갖다 댄 태그의 UID를 출력하는 코드를 작성하는 방법.

필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | RFID/NFC RC522 Kit (reader + tags) | 쿠팡 | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (옵션) DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 |
RFID-RC522 모듈에 대하여
RFID-RC522는 전파를 통해 카드나 키 태그와 통신하는 근거리 리더입니다.
주요 특징:
- MIFARE 카드, 키 포브, 스티커의 고유 ID(UID)를 읽습니다.
- MIFARE 태그 내부의 메모리 블록을 읽고 쓸 수도 있습니다.
- 몇 밀리미터에서 약 5 cm 거리까지 작동합니다.
- SPI로 ESP32 C3 Super Mini와 통신하므로 몇 개의 전선만 필요합니다.
- 카드 하나와 키 포브 하나가 포함된 키트로 제공되어 바로 테스트할 수 있습니다.
기술 사양:
- 칩: NXP MFRC522.
- 작동 전압: 3.3V 전용.
- 무선 주파수: 13.56 MHz.
- 인식 거리: 0 ~ 60 mm (태그와 안테나에 따라 다름).
- 인터페이스: SPI, I2C, UART - 한 번에 하나만 사용.
- SPI 속도: 최대 10 Mbit/s.
- 전류: 읽는 동안 약 13-26 mA.
WARNING
RFID-RC522 모듈은 3.3V에서 작동합니다. VCC 핀은 반드시 ESP32 C3 Super Mini의 3.3V 핀에만 연결하세요. 5V는 모듈을 손상시킵니다.
핀아웃
RFID-RC522 모듈에는 8개의 핀이 있습니다. 일부 핀은 세 가지 인터페이스(SPI, I2C, UART) 간에 공유되며, 한 번에 하나의 인터페이스만 사용할 수 있습니다.

- GND 핀: 이 핀을 GND(0V)에 연결합니다.
- VCC 핀: 이 핀을 3.3V에 연결합니다.
- RST 핀: 리셋 및 전원 차단 핀입니다. LOW 레벨이면 모듈이 완전 전원 차단 상태가 됩니다. 상승 에지에서 모듈이 리셋됩니다.
- IRQ 핀: RFID 태그가 범위 안에 들어오면 ESP32 C3 Super Mini에 알릴 수 있는 인터럽트 핀입니다.
- MISO/SCL/TX 핀: 다음과 같이 작동합니다:
- SPI 인터페이스가 활성화되면 MISO 핀
- I2C 인터페이스가 활성화되면 SCL 핀
- UART 인터페이스가 활성화되면 TX 핀.
- MOSI 핀: SPI 인터페이스가 활성화되면 MOSI로 작동합니다.
- SCK 핀: SPI 인터페이스가 활성화되면 SCK로 작동합니다.
- SS/SDA/RX 핀: 다음과 같이 작동합니다:
- SPI 인터페이스가 활성화되면 SS 핀
- I2C 인터페이스가 활성화되면 SDA 핀
- UART 인터페이스가 활성화되면 RX 핀.
- 핀 순서는 제조사에 따라 다를 수 있습니다. 항상 모듈에 인쇄된 라벨을 사용하세요. 위 이미지는 DIYables 제조사 모듈의 핀아웃을 보여줍니다.
- RFID-RC522 모듈은 3.3V로 작동합니다. RFID-RC522 모듈의 VCC 핀을 5V에 연결하지 마세요. 5V는 RFID-RC522 모듈을 태울 수 있습니다.
- 이 튜토리얼에서는 ESP32 C3 Super Mini와 RFID-RC522 모듈 간의 통신에 SPI 인터페이스를 사용합니다.
※ 주의:
배선 다이어그램
아래와 같이 RC522 모듈을 ESP32 C3 Super Mini의 SPI 핀에 배선합니다.
- 참고: 모듈에는 3.3V 핀으로 전원을 공급하세요. 절대 5V를 사용하지 마세요.
- 참고: 이 튜토리얼에서는 IRQ 핀을 사용하지 않습니다. 연결하지 않고 둡니다.
- 참고: 점퍼선은 짧게 유지하세요. 긴 전선은 SPI 신호를 불안정하게 만듭니다.
- 참고: ESP32 C3 Super Mini는 3.3V 보드이므로 레벨 시프터가 필요 없습니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
RFID/NFC RC522 모듈과 ESP32 C3 Super Mini 간의 배선 표
| RFID/NFC RC522 핀 | ESP32 C3 Super Mini 핀 |
|---|---|
| SS (SDA) | GPIO7 |
| SCK | GPIO4 |
| MOSI | GPIO6 |
| MISO | GPIO5 |
| IRQ | 연결 안 함 |
| GND | GND |
| RST | GPIO3 |
| VCC | 3.3V |
ESP32 C3 Super Mini RFID/NFC 코드
아래 코드는 태그를 기다렸다가 태그의 유형과 UID를 시리얼 모니터에 출력합니다.
이 코드가 하는 일:
- GPIO4(SCK), GPIO5(MISO), GPIO6(MOSI), GPIO7(SS)에서 SPI 버스를 시작합니다.
- SS를 GPIO7, RST를 GPIO3으로 하여 MFRC522 리더를 초기화합니다.
- 매 루프마다 새 태그가 범위 안에 있는지 확인합니다.
- MIFARE 1KB 같은 태그 유형을 출력합니다.
- 태그 UID를 16진수 형식으로 출력합니다.
빠른 단계
- ESP32 C3 Super Mini가 처음이신가요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정하세요.
- 부품 연결: 위의 배선 표에 따라 RC522 모듈을 ESP32 C3 Super Mini에 연결합니다.
- USB 케이블 연결: USB Type-C 케이블로 ESP32 C3 Super Mini를 컴퓨터에 연결합니다.
- Arduino IDE 열기: 컴퓨터에서 Arduino IDE를 실행합니다.
- 보드 선택: Tools > Board에서 ESP32 C3 Super Mini가 선택되어 있는지 확인합니다.
- 포트 선택: ESP32 C3 Super Mini의 COM 포트를 선택합니다.
- 라이브러리 매니저 열기: Arduino IDE 왼쪽 탐색 바에 있는 Library Manager 아이콘을 클릭합니다.
- 라이브러리 검색: 검색창에 “MFRC522”를 입력한 다음 GithubCommunity의 라이브러리를 찾습니다.
- 라이브러리 설치: Install 버튼을 클릭합니다.
- Search for MFRC522 created by GithubCommunity and click the Install button.
- 코드 복사: 위 코드를 복사하여 Arduino IDE에 붙여넣습니다.
- 코드 업로드: Upload 버튼을 클릭하여 코드를 컴파일하고 ESP32 C3 Super Mini 보드에 업로드합니다.
- 시리얼 모니터 열기: 보드레이트를 115200으로 설정합니다.

- 태그 갖다 대기: 여러 RFID/NFC 태그를 RFID-RC522 모듈에 갖다 댑니다.
- 결과 확인: 각 태그의 UID가 시리얼 모니터에 출력됩니다.
- 전문가 팁: 아무것도 출력되지 않으면 먼저 SS와 RST 전선을 확인하세요. SS나 RST 전선이 뒤바뀐 것이 가장 흔한 실수입니다.
코드 라인별 설명
위의 ESP32 C3 Super Mini 코드에는 라인별 설명이 포함되어 있습니다. 코드의 주석을 읽어보세요!
응용 분야 및 프로젝트 아이디어
ESP32 C3 Super Mini와 RC522 RFID 리더로 만들 수 있는 쉬운 프로젝트들입니다.
- 도어 잠금 장치: 등록된 태그를 갖다 대면 전자석 잠금 장치를 엽니다.
- 출석 기록기: 각 사람이 태그를 댈 때 UID와 시간을 저장합니다.
- 현금 없는 자판기: 태그로 작은 기계나 릴레이를 작동시킵니다.
- 장난감 상자 분류기: 각 장난감에 스티커 태그를 붙이고 LCD에 이름을 표시합니다.
- WiFi 출입 기록: 모든 UID를 WiFi를 통해 웹 서버로 보냅니다.
- 알람 해제: 올바른 태그가 있을 때만 부저 알람을 끕니다.
도전 과제
ESP32 C3 Super Mini의 RFID에 대해 더 배우기 위해 다음 작은 업그레이드를 해보세요.
- 쉬움: 태그를 읽을 때마다 GPIO2의 LED를 1초 동안 켜보세요.
- 쉬움: 원시 UID 대신 짧은 메시지를 출력해보세요.
- 보통: 허용된 UID 목록을 저장하고 "Access granted" 또는 "Access denied"를 출력해보세요.
- 보통: 허용된 태그에는 한 번, 알 수 없는 태그에는 두 번 울리는 부저를 추가해보세요.
- 고급: MIFARE 태그의 메모리 블록에 자신만의 데이터를 읽고 써보세요.
- 고급: 스캔한 모든 UID를 ESP32 C3 Super Mini가 호스팅하는 웹 페이지로 보내보세요.