본문으로 건너뛰기

배선 및 핀 맵 (Wiring and Pin Mapping)

본 섹션은 프로젝트의 소스 코드(doorlock.ino)에 정의된 하드웨어 연결 구성과 핀 맵을 설명한다. 모든 연결은 Arduino Uno/Nano 호환 보드를 기준으로 설계되었다.

하드웨어 연결 다이어그램

Arduino Uno/NanoMFRC522 (NFC)4x4 KeypadRelay ModuleElectronic LockSPI: D10, D11, D12, D13, A2GPIO: D2-D8, A0Signal: A112V External Power시스템 하드웨어 인터페이스 구성도 (Hardware Interface Diagram)

MFRC522 (SPI 인터페이스)

NFC 리더기는 SPI 통신을 사용하여 Arduino와 데이터를 주고받는다.

MFRC522 핀Arduino 핀비고
SDA (SS)10Slave Select
SCK13Serial Clock
MOSI11Master Out Slave In
MISO12Master In Slave Out
IRQ연결 안 함Interrupt Request (사용 안 함)
GNDGND공통 접지 (Common Ground)
RSTA2리셋 (Reset)
3.3V3.3V주의: 5V에 연결 시 모듈이 손상될 수 있음

4x4 매트릭스 키패드 (4x4 Matrix Keypad)

키패드는 8개의 GPIO 핀을 사용하여 행(Row)과 열(Col)의 교차점을 스캔한다.

키패드 PinArduino 핀역할
Row 12행 제어
Row 23행 제어
Row 34행 제어
Row 45행 제어
Col 16열 제어
Col 27열 제어
Col 38열 제어
Col 4A0열 제어

릴레이 모듈 (Relay Module)

릴레이는 Arduino의 저전력 신호로 도어락의 고전력 회로를 제어한다.

릴레이 핀Arduino 핀비고
VCC5VArduino 5V 출력 사용 가능
GNDGND공통 접지
INA1제어 신호 (펌웨어에서 설정 가능)

전원 설계 및 안전 주의사항

성공적인 하드웨어 구현을 위해 다음과 같은 전원 설계 원칙을 준수해야 한다.

  1. 전원 분리 (Power Isolation):

    • 전자식 도어락(솔레노이드 또는 마그네틱 락)은 작동 시 높은 전류를 소모하며, 코일의 자기장 변화로 인해 역기전력을 발생시킨다.
    • 절대로 도어락의 전원을 Arduino의 5V 또는 Vin 핀에서 직접 공급받지 않아야 한다.
    • 도어락을 위한 별도의 12V 외부 전원 공급 장치를 사용하고, 릴레이를 통해 Arduino 제어 회로와 물리적으로 분리하여 시스템 안정성을 확보한다.
  2. 논리 레벨 (Logic Levels):

    • MFRC522 모듈은 3.3V 로직으로 동작하도록 설계되어 있다. Arduino Uno/Nano의 5V 핀에 직접 연결할 경우 즉각적인 손상이나 불안정한 동작을 유발할 수 있으므로 반드시 3.3V 전원을 사용해야 한다.
  3. 릴레이 로직 설정:

    • 본 프로젝트의 기본 펌웨어는 RELAY_LOCKED = LOW, RELAY_UNLOCKED = HIGH로 가정한다. 만약 사용하는 릴레이 모듈이 Active Low(신호가 낮을 때 동작) 방식인 경우, doorlock.ino의 상수를 수정하여 대응한다.