도어락 해킹? 내가 만든 아두이노 보안 시스템으로 끝!

🔐 들어가며 도어락 해킹, 남의 집 이야기 같지만 실제로는 우리 주변에서도 벌어지는 일입니다. 시중의 스마트 도어락들도 대부분 무선 신호의 복제나 취약한 암호 구조로 인해 해킹에 취약할 수 있습니다. 그래서 직접 만들면 어떨까요? 이번 프로젝트에서는 아두이노를 활용해 RFID + 부저 + 서보모터 기반 보안 도어락 시스템을 만들어 보겠습니다. 직접 만들면서 보안 시스템의 작동 원리를 이해하고, 내 집을 더 안전하게 지킬 수 있는 방법을 익혀봅시다.
🧰 1. 준비물
부품명 설명
| 아두이노 Uno 또는 Nano | 마이크로컨트롤러 보드 |
| RFID 리더 모듈 (RC522) | 카드/태그 인식용 |
| RFID 카드 및 태그 | 출입 인증 수단 |
| SG90 서보모터 | 도어락 물리 제어용 |
| 피에조 부저 | 알림 및 경고용 |
| 16x2 I2C LCD (선택사항) | 상태 출력 |
| 점퍼 와이어 | 회로 연결용 |
| 브레드보드 | 임시 회로 구성용 |
| 5V 전원 어댑터 또는 USB | 전원 공급 |
🔌 2. 회로 연결
📍 2.1 RFID 리더 모듈 (RC522)
RFID 핀 아두이노 핀
| SDA | D10 |
| SCK | D13 |
| MOSI | D11 |
| MISO | D12 |
| IRQ | 연결 안함 |
| GND | GND |
| RST | D9 |
| 3.3V | 3.3V (주의) |
📍 2.2 서보모터
서보 핀 아두이노 핀
| VCC | 5V |
| GND | GND |
| PWM | D6 |
📍 2.3 부저
부저 핀 아두이노 핀
| + | D5 |
| - | GND |
📍 2.4 I2C LCD (선택사항)
LCD 핀 아두이노 핀
| SDA | A4 |
| SCL | A5 |
💻 3. 아두이노 IDE 준비
- MFRC522 라이브러리 설치
- Servo.h 라이브러리 기본 포함
- LiquidCrystal_I2C.h 설치 (LCD 사용 시)
📜 4. 코드 개요
- RFID 태그 감지 시 UID 확인
- 등록된 UID일 경우 서보모터가 문을 엽니다
- 잘못된 카드일 경우 부저 알림 발생
- LCD에 상태 표시 가능
🧾 5. 전체 코드 (주석 포함)
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#define SS_PIN 10
#define RST_PIN 9
#define RELAY_PIN 6
#define BUZZER 5
MFRC522 rfid(SS_PIN, RST_PIN);
Servo servo;
// 등록된 카드 UID (예시)
byte validUID[4] = {0xDE, 0xAD, 0xBE, 0xEF};
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
servo.attach(RELAY_PIN);
pinMode(BUZZER, OUTPUT);
servo.write(0); // 잠금 상태
}
void loop() {
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) return;
if (isValidUID(rfid.uid.uidByte)) {
servo.write(90);
delay(3000);
servo.write(0);
} else {
digitalWrite(BUZZER, HIGH);
delay(1000);
digitalWrite(BUZZER, LOW);
}
rfid.PICC_HaltA();
}
bool isValidUID(byte *uid) {
for (byte i = 0; i < 4; i++) {
if (uid[i] != validUID[i]) return false;
}
return true;
}
🧪 6. 테스트 시나리오
- 카드 등록 후 접근 테스트
- 등록되지 않은 카드 접근 시 부저 작동 확인
- 서보모터 회전 여부 확인
- LCD 사용 시 'Access Granted/Denied' 문구 확인
🛠️ 7. 확장 기능 제안
- 🔐 여러 사용자 등록 기능
- ⏱ 일정 시간 경과 시 자동 잠금
- 🧠 음성 피드백 기능 (DFPlayer Mini + 스피커)
- 🌐 인터넷 연동 (ESP8266 WiFi 모듈)
- 📱 스마트폰 앱 연동 (MIT App Inventor)
- 📦 로그 기록 기능 (SD 카드 또는 EEPROM)
- 🛎️ 인터폰 기능과의 연계
- 🔍 관리자 모드 / 설정 초기화 버튼
📌 8. 제작 팁
- 서보모터는 너무 자주 회전하지 않도록 제한
- RFID 안테나는 금속 주변에 두지 말 것
- LCD가 없다면 시리얼 출력으로 대체 가능
- 실제 문에 고정할 땐 서보모터 위치 조절이 핵심
🧠 9. 마무리하며 시중 도어락은 '디자인'은 좋지만, 커스터마이징은 어렵습니다. 이 프로젝트를 통해 형님은 자신만의 보안 시스템을 직접 만들 수 있습니다. 누가 접근했고, 몇 시에 문이 열렸는지를 로그로 남기고, 음성으로 안내하는 스마트한 도어락이 바로 내 손에서 만들어질 수 있습니다. 간단한 센서부터 점점 더 정교한 보안 기능까지, 확장성과 실용성이 모두 갖춰진 DIY 프로젝트입니다.
📌 출처: ythouse.tistory.com
'개발이야기' 카테고리의 다른 글
| 아두이노 스마트 미러 만들기 – 실시간 날씨·시간·뉴스를 한눈에! (0) | 2025.03.31 |
|---|---|
| 아두이노 와 ESP32-CAM으로 얼굴 인식 도어락 만들기 – IoT 보안 시스템 완성 (0) | 2025.03.31 |
| 아두이노로 만드는 스마트 홈 – 자동화의 모든 것 (0) | 2025.03.31 |
| 아두이노에 ChatGPT를 연결해봤습니다 – AI와 대화하는 나만의 스마트 디바이스 만들기 (0) | 2025.03.31 |
| 아두이노로 만드는 휴대용 미니 게임기 – ST7789 컬러 LCD 완전 활용법 (0) | 2025.03.31 |