안녕하세요! educ8s.tv의 닉입니다. 오늘은 RFID 리더기를 아두이노와 연결해 간단한 도어락 시스템을 만들어 보겠습니다. RFID 태그를 리더기에 가까이 대면 태그의 고유 ID(UID)를 읽어 OLED 디스플레이에 표시합니다. 미리 저장해 둔 UID와 일치하면 "Unlocked(잠금 해제)" 메시지가 뜨고, 일치하지 않으면 아무 메시지도 표시되지 않습니다. 아주 직관적이고 재미있는 프로젝트죠?
1단계: 부품 준비하기
필요한 부품은 위 표와 같습니다. RFID 리더기와 카드 2개 세트는 약 $4에 구입할 수 있습니다.
2단계: RC522 RFID 리더기 이해하기
RFID 태그 내부에는 배터리 없이 리더기의 코일에서 무선으로 전력을 공급받아 동작하는 작은 칩과 안테나 코일이 들어 있습니다. 리더기는 최대 20mm 거리에서 태그를 읽을 수 있습니다. 각 태그마다 고유한 UID가 있으며, 이 UID를 이용해 특정 태그를 식별합니다. 이 카드 타입은 최대 1KB의 데이터 저장도 가능하지만, 이번 프로젝트에서는 UID 읽기만 사용합니다.
3단계: OLED 디스플레이 특징
이 0.96인치 OLED 디스플레이는 해상도 128×64 픽셀, 소비 전류 10~20mA로 저전력입니다. I2C 인터페이스를 사용해 VCC, GND 외에 SCL, SDA 두 선만 연결하면 되므로 배선이 매우 간단합니다. 아다프루트(Adafruit)에서 제공하는 라이브러리 지원이 훌륭해 초보자도 쉽게 사용할 수 있습니다. 노란색/파란색 두 가지 색상 표시가 가능한 모델도 있습니다.
4단계: 모든 부품 연결하기
⚠️ 중요: RFID 리더기는 반드시 3.3V에 연결하세요. 5V 연결 시 모듈이 손상됩니다.
OLED 디스플레이 – 아두이노 연결
VCC → 3.3V
GND → GND
SCL → 아날로그 핀 5 (A5)
SDA → 아날로그 핀 4 (A4)
RFID 리더기 (RC522) – 아두이노 연결 (SPI 인터페이스)
RST → 디지털 핀 9
IRQ → 미연결
MISO → 디지털 핀 12
MOSI → 디지털 핀 11
SCK → 디지털 핀 13
SDA (SS) → 디지털 핀 10
아두이노 우노의 하드웨어 SPI 핀(11, 12, 13)을 사용합니다. OLED는 I2C 핀(A4, A5)을 사용합니다. 전원은 두 모듈 모두 3.3V 레일에 연결하고, GND도 공통으로 묶습니다.
5단계: 프로젝트 코드 분석
필수 라이브러리 설치
MFRC522 RFID 라이브러리: 스케치 → 라이브러리 포함 → 라이브러리 관리자에서 "MFRC522" 검색 후 설치
Adafruit SSD1306 라이브러리 및 Adafruit GFX 라이브러리: 동일하게 설치
Adafruit SSD1306 라이브러리 수정 필요: 라이브러리 폴더의 Adafruit_SSD1306.h 파일에서 70번째 줄을 주석 처리하고 69번째 줄의 주석을 해제하세요. 우리 디스플레이는 128×64 해상도입니다.
코드 핵심 부분
// 허용할 RFID 태그의 UID (4바이트)
int code[] = {69, 141, 8, 136}; // 이 값을 본인의 태그 UID로 변경하세요
// 초기화
rfid.PCD_Init();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// 메인 루프 (100ms마다 태그 검사)
if (태그_감지됨) {
UID_읽기_및_디스플레이_출력();
if (UID가_일치함) {
Serial.println("\nI know this card!");
printUnlockMessage(); // "Unlocked" 표시
} else {
Serial.println("\nUnknown Card");
}
}
코드는 여러 UID를 저장해 여러 장의 카드를 인식하도록 쉽게 확장할 수 있습니다. 전체 코드는 튜토리얼에 첨부된 RFID.ino 파일을 참조하세요.
6단계: 마무리 및 개선 아이디어
약 $15의 저렴한 비용으로 RFID 기반 보안 시스템을 구축했습니다. 이 리더기를 활용해 아이들을 위한 인터랙티브 게임, 출입 관리 시스템, 출석 체크기 등 다양한 프로젝트로 확장할 수 있습니다. 향후 튜토리얼에서는 RFID 태그에 데이터 쓰기/읽기 기능도 다룰 예정입니다.
여러분은 이 RFID 리더기를 어떤 프로젝트에 활용하고 싶으신가요? 댓글로 아이디어를 공유해 주세요!