PN532 NFC 모듈 아두이노 연결 완벽 가이드: I2C, UART, SPI 3가지 모드
PN532는 근거리 무선 통신(NFC)을 사용하는 거의 모든 기기에 탑재되는 NFC 브레이크아웃 보드입니다. NFC는 RFID의 확장 기술로, 더 다양한 기능과 옵션을 제공합니다. 시중에 수많은 NFC 칩이 있지만, PN532 모듈은 얼마나 뛰어날까요? 아두이노와의 호환성은 어떨까요? 자세히 알아보겠습니다.
PN532 모듈이란?
PN532는 모바일 결제, 아두이노 NFC 기능, 스마트폰 통신 등을 지원하는 인기 있는 NFC RFID 모듈입니다. 아두이노 프로젝트와 쉽게 페어링할 수 있도록 모듈 형태로 제공됩니다. 13.56MHz 주파수 대역에서 비접촉 통신을 지원하며, 양방향 최대 424kbit/s 속도를 제공합니다.
PN532 NFC 모듈 핀아웃
그림 1: PN532 NFC RFID 모듈
PN532는 I2C, SPI, HSU(고속 UART) 세 가지 통신 모드를 지원합니다. I2C와 HSU는 같은 핀을 공유하고, SPI는 별도 핀을 사용합니다. 모듈 전면에서 I2C 핀을, 후면에서 HSU 핀을 확인할 수 있습니다.
PN532 NFC 모듈 주요 특징
- 80C51 아키텍처 마이크로컨트롤러 코어, 40KB ROM, 1KB RAM 내장
- MIFARE ISO/IEC 14443 지원
- 내장 RF 레벨 검출기
- 고집적 디모듈레이터 및 디코더
- 리더/라이터 모드에서 최대 50mm 동작 범위 (FeliCa, ISO/IEC 14443B, ISO/IEC 14443/MIFARE 카드와 원활한 통신)
- NFCIP 모드에서 전원, 튜닝, 안테나 크기에 따라 최대 50mm 범위
- 카드 에뮬레이션 모드(FeliCa 또는 ISO/IEC 14443A/MIFARE)에서 100mm 동작 범위
- 외부 아날로그 부품 사용 시 424kbit/s 이상의 속도 지원
- 저전력 모드, 프로그래머블 타이머, 크리스탈 발진기, 2.7~5.5V 전원 범위 지원
준비물
- 아두이노 보드
- PN532 NFC RFID 모듈
- 수-암 점퍼 와이어 15개
- 브레드보드
- OLED 디스플레이 (0.96" I2C OLED)
I2C 모드로 PN532와 아두이노 연결하기
아두이노와 PN532를 I2C 통신으로 연결합니다: GND-GND, SDA-A4, SCL-A5로 연결하세요(아래 그림 참조). 보드에 5V 전원을 공급한 뒤, 아래 코드를 아두이노에 업로드합니다.
그림 2: I2C 모드로 아두이노와 PN532 연결
코드 업로드 후 NFC 카드를 PN532 가까이 대어 테스트하세요.
UART 모드로 PN532와 아두이노 연결하기
UART 모드에서는 GND-GND, Tx(클록)-D3, Rx(데이터)-D2로 연결하고 VCC 핀에 5V를 공급합니다.
그림 3: UART 모드로 아두이노와 PN532 연결
적절한 지원 라이브러리를 아두이노 라이브러리 폴더에 추가한 뒤, 아래 코드를 복사해 업로드하세요.
시리얼 모니터를 열고 NFC 카드를 대어 테스트합니다.
SPI 모드로 PN532와 아두이노 연결하기
RST-핀9, GND-GND, MISO-핀11, MOSI-핀12, SCK(시리얼 클록)-핀13, SS(슬레이브 셀렉트)-핀10으로 연결하세요. PN532_SPI.h 라이브러리를 아두이노 IDE 라이브러리 폴더에 추가합니다.
그림 4: SPI 모드로 아두이노와 PN532 연결
아래 코드를 업로드한 뒤 시리얼 모니터에서 테스트하세요.
OLED 디스플레이를 활용한 휴대용 NFC 스캐너 만들기
OLED 디스플레이와 PN532를 아두이노에 연결합니다: GND-GND, SDA-A4, SCL-A5, VCC-5V.
그림 5: 아두이노, PN532, OLED 연결
아래 코드를 업로드하세요.
NFC 카드를 가까이 대면 OLED에 바이트 길이와 UID 값이 표시됩니다.
결론
PN532는 I2C, UART, SPI 세 가지 프로토콜을 모두 지원하여 아두이노와의 통신 유연성이 뛰어납니다. 설정이 쉽고, 다루기 재미있으며, 저렴하게 구입할 수 있는 장점이 있습니다. 부품 수급이나 프로젝트 진행에 도움이 필요하면 언제든 연락 주세요.