반응형
아두이노 RFID 카드 인식 시스템 만들기 – RC522 모듈로 출입 인증 구현하기
카드 한 장으로 문을 여는 출입 시스템, 직접 만들 수 있습니다!
이번 글에서는 아두이노와 RC522 RFID 리더 모듈을 이용해 RFID 태그(카드)를 인식하고, 특정 UID에 따라 동작을 수행하는 시스템을 구현합니다.
이 방식은 출입 인증, 출석 체크, 스마트 잠금장치 등에 널리 사용되는 기술입니다.
📦 준비물
- 아두이노 UNO
- RC522 RFID 리더기
- RFID 카드 or 키태그
- 점퍼 와이어
- 브레드보드 (옵션)
🔍 RC522 RFID 모듈이란?
RC522는 13.56MHz 주파수 대역의 RFID를 읽을 수 있는 SPI 기반 모듈입니다. 전송 속도도 빠르고, 가격도 저렴해 가장 많이 쓰이는 RFID 리더 중 하나입니다.
⚙️ 핀 연결
| RC522 핀 | 아두이노 핀 |
|---|---|
| SDA | 10 |
| SCK | 13 |
| MOSI | 11 |
| MISO | 12 |
| IRQ | 사용 안함 |
| GND | GND |
| RST | 9 |
| 3.3V | 3.3V |
💻 기본 코드 – UID 출력
RFID 태그의 UID(고유 ID)를 읽어와 시리얼 모니터에 출력하는 기본 예제입니다.
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
Serial.println("RFID 리더 시작");
}
void loop() {
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) return;
Serial.print("UID: ");
for (byte i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i] < 0x10 ? "0" : "");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println();
delay(1000);
}
🔐 UID 기반 인증 예제
특정 카드 UID에 따라 승인/거부 메시지를 출력해봅니다.
String masterUID = "F1043B2A"; // 카드 UID를 시리얼로 읽고 이 값으로 설정
void loop() {
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) return;
String tagID = "";
for (byte i = 0; i < rfid.uid.size; i++) {
tagID += String(rfid.uid.uidByte[i], HEX);
}
tagID.toUpperCase();
if (tagID == masterUID) {
Serial.println("▶ 인증 성공: 출입 허용");
} else {
Serial.println("✖ 인증 실패: 출입 거부");
}
rfid.PICC_HaltA();
delay(1500);
}
🧠 활용 팁
- 🔒 릴레이와 연동해 전자문 잠금 해제
- 📊 SD카드에 출입 로그 저장
- 📆 RTC 모듈과 결합해 출입 시간 기록
✅ 마무리
RFID를 이용한 카드 인식 시스템은 단순하면서도 실용적인 프로젝트입니다.
보안 시스템, 출석 체크, 도서 대여 등 실생활 곳곳에 응용이 가능합니다.
이제 여러분도 나만의 출입 인증 시스템을 직접 구현해보세요!
Arduino 시리즈 20편 | 작성자: YT
반응형
'아두이노' 카테고리의 다른 글
| 아두이노 + MAX31855로 K-Type 써모커플 온도 측정하기 – SPI 방식 온도 센서 예제 (0) | 2025.04.19 |
|---|---|
| 아두이노로 MCP3202 SPI ADC 제어하기 – 12비트 아날로그 입력 읽기 예제 (0) | 2025.04.19 |
| 아두이노 전자식 가변저항 제어 가이드 – MCP41010 SPI 통신으로 디지털 저항 조절하기 (0) | 2025.04.19 |
| 아두이노 통합 프로젝트 완성 – 버튼으로 LCD 메뉴 전환 + 센서 제어 시스템 만들기 (0) | 2025.04.19 |
| 아두이노 피에조 부저 알람 만들기 – tone() 함수로 소리 제어하는 완벽 가이드 (0) | 2025.04.19 |