배선 및 핀 맵 (Wiring and Pin Mapping)
본 섹션은 프로젝트의 소스 코드(doorlock.ino)에 정의된 하드웨어 연결 구성과 핀 맵을 설명한다. 모든 연결은 Arduino Uno/Nano 호환 보드를 기준으로 설계되었다.
하드웨어 연결 다이어그램
MFRC522 (SPI 인터페이스)
NFC 리더기는 SPI 통신을 사용하여 Arduino와 데이터를 주고받는다.
| MFRC522 핀 | Arduino 핀 | 비고 |
|---|---|---|
| SDA (SS) | 10 | Slave Select |
| SCK | 13 | Serial Clock |
| MOSI | 11 | Master Out Slave In |
| MISO | 12 | Master In Slave Out |
| IRQ | 연결 안 함 | Interrupt Request (사용 안 함) |
| GND | GND | 공통 접지 (Common Ground) |
| RST | A2 | 리셋 (Reset) |
| 3.3V | 3.3V | 주의: 5V에 연결 시 모듈이 손상될 수 있음 |
4x4 매트릭스 키패드 (4x4 Matrix Keypad)
키패드는 8개의 GPIO 핀을 사용하여 행(Row)과 열(Col)의 교차점을 스캔한다.
| 키패드 Pin | Arduino 핀 | 역할 |
|---|---|---|
| Row 1 | 2 | 행 제어 |
| Row 2 | 3 | 행 제어 |
| Row 3 | 4 | 행 제어 |
| Row 4 | 5 | 행 제어 |
| Col 1 | 6 | 열 제어 |
| Col 2 | 7 | 열 제어 |
| Col 3 | 8 | 열 제어 |
| Col 4 | A0 | 열 제어 |
릴레이 모듈 (Relay Module)
릴레이는 Arduino의 저전력 신호로 도어락의 고전력 회로를 제어한다.
| 릴레이 핀 | Arduino 핀 | 비고 |
|---|---|---|
| VCC | 5V | Arduino 5V 출력 사용 가능 |
| GND | GND | 공통 접지 |
| IN | A1 | 제어 신호 (펌웨어에서 설정 가능) |
전원 설계 및 안전 주의사항
성공적인 하드웨어 구현을 위해 다음과 같은 전원 설계 원칙을 준수해야 한다.
-
전원 분리 (Power Isolation):
- 전자식 도어락(솔레노이드 또는 마그네틱 락)은 작동 시 높은 전류를 소모하며, 코일의 자기장 변화로 인해 역기전력을 발생시킨다.
- 절대로 도어락의 전원을 Arduino의 5V 또는 Vin 핀에서 직접 공급받지 않아야 한다.
- 도어락을 위한 별도의 12V 외부 전원 공급 장치를 사용하고, 릴레이를 통해 Arduino 제어 회로와 물리적으로 분리하여 시스템 안정성을 확보한다.
-
논리 레벨 (Logic Levels):
- MFRC522 모듈은 3.3V 로직으로 동작하도록 설계되어 있다. Arduino Uno/Nano의 5V 핀에 직접 연결할 경우 즉각적인 손상이나 불안정한 동작을 유발할 수 있으므로 반드시 3.3V 전원을 사용해야 한다.
-
릴레이 로직 설정:
- 본 프로젝트의 기본 펌웨어는
RELAY_LOCKED = LOW,RELAY_UNLOCKED = HIGH로 가정한다. 만약 사용하는 릴레이 모듈이 Active Low(신호가 낮을 때 동작) 방식인 경우,doorlock.ino의 상수를 수정하여 대응한다.
- 본 프로젝트의 기본 펌웨어는