아두이노 나노 - RFID | Arduino Nano - RFID
이 튜토리얼은 아두이노 나노와 함께 RFID/NFC를 사용하는 방법을 안내합니다. RFID/NFC 시스템은 리더와 태그 두 가지 구성 요소로 이루어져 있습니다. 가장 인기 있는 RFID/NFC 리더로는 RC522와 PN532가 있습니다. 이 튜토리얼에서는 저렴하고 사용하기 쉬운 RC522 RFID/NFC 리더를 사용할 것입니다.
RC522 RFID/NFC 리더는 다음을 할 수 있습니다:
- RFID/NFC 태그의 UID를 가져옵니다.
- RFID/NFC 태그의 UID를 변경합니다 (태그가 이 기능을 지원하는 경우에만 가능)
- RFID/NFC 태그에 데이터를 저장합니다.
- RFID/NFC 태그에서 데이터를 검색합니다.
이 튜토리얼은 다음에 초점을 맞춥니다:
- 아두이노 나노에 RC522 모듈을 연결하는 방법
- 아두이노 나노를 프로그래밍하여 RC522 모듈과 통신하고 RFID 태그의 UID를 읽는 방법
준비물
1 | × | Arduino Nano | Amazon | |
1 | × | USB A to Mini-B USB cable | 쿠팡 | Amazon | |
1 | × | RFID/NFC RC522 Kit (reader + tags) | 쿠팡 | Amazon | |
1 | × | RFID Key Fob | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
RFID-RC522 모듈에 대해
RFID-RC522 모듈 핀배열
RFID-RC522에는 8개의 핀이 있으며, 이 중 일부는 일반 핀이고 나머지는 SPI, I2C, UART 세 가지 통신 모드 간에 공유됩니다. 한 번에 하나의 모드만 사용할 수 있습니다. 핀은 다음과 같습니다:
- GND 핀: 이 핀은 접지(0V)에 연결해야 합니다.
- VCC 핀: 이 핀은 전력 공급원(3.3V)에 연결해야 합니다.
- RST 핀: 이 핀은 리셋 및 전력 차단용 핀입니다. 이 핀이 낮아지면 하드 전력 차단이 활성화됩니다. 상승 에지에서, 모듈이 리셋됩니다.
- IRQ 핀: 이 핀은 RFID 태그가 근처에 들어올 때 마이크로컨트롤러에 알릴 수 있는 인터럽트 핀입니다.
- MISO/SCL/TX 핀: 이 핀은 SPI 인터페이스가 활성화될 때 MISO로 작동하고, I2C 인터페이스가 활성화될 때 SCL로 작동하며, UART 인터페이스가 활성화될 때 TX로 작동합니다.
- MOSI 핀: 이 핀은 SPI 인터페이스가 활성화될 때 MOSI로 작동합니다.
- SCK 핀: 이 핀은 SPI 인터페이스가 활성화될 때 SCK로 작동합니다.
- SS/SDA/RX 핀: 이 핀은 SPI 인터페이스가 활성화될 때 SS로 작동하고, I2C 인터페이스가 활성화될 때 SDA로 작동하며, UART 인터페이스가 활성화될 때 RX로 작동합니다.
※ NOTE THAT:
- 핀의 배치는 제조업체에 따라 다를 수 있습니다. 위의 이미지에서 DIYables 제조업체에서 설명한 것처럼 모듈에 인쇄된 라벨을 사용하는 것이 중요합니다.
- VCC 핀을 5V 핀에 연결하지 마십시오. 이렇게 하면 모듈이 손상될 수 있습니다.
- MFRC522 라이브러리는 SPI 모드만 지원하므로, 이 튜토리얼은 SPI 통신에 초점을 맞출 것입니다.
RFID/NFC가 어떻게 작동하는가
RFID/NFC는 리더와 태그 두 부분으로 구성되어 있습니다.
- 리더기는 고주파 전자기장을 생성하는 무선 주파수 모듈과 안테나로 구성되어 있습니다.
- 태그는 일반적으로 수동 장치로, 전원이 필요하지 않습니다. 정보를 저장하고 처리하는 마이크로칩과 신호를 수신 및 송신하는 안테나를 가지고 있습니다. 이 태그는 데이터와 고유 ID를 저장하는 데 사용됩니다.
태그는 포함된 정보를 읽기 위해 리더기에 가까이 있어야 합니다. 이 과정에서 리더기는 전자기장을 생성하여 태그의 안테나를 통해 전자를 이동시키고 칩에 전력을 공급합니다. 그러면 칩이 요청된 정보를 라디오 신호로 리더기에 다시 보내고, 리더기는 이 신호를 감지하여 데이터로 변환한 다음, Arduino Nano가 읽게 됩니다.
RFID-RC522 모듈과 아두이노 나노 간의 배선도
RFID-RC522 모듈은 3.3V의 전압이 필요하지만, 아두이노 출력 핀은 5V를 제공합니다. 따라서:
- 안전을 보장하기 위해, 아두이노 핀에서 RC522 모듈로 연결하기 전에 전압을 3.3V로 조절해야 합니다.
- 테스트 목적으로, 아두이노 핀은 직접 RC522 모듈에 연결될 수 있지만, 경우에 따라 문제를 일으킬 수 있습니다.
이 튜토리얼은 두 경우 모두에 대해 두 가지 다른 배선도를 제공합니다:
RC522와 아두이노 사이의 전압 조절기 없는 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
RC522와 아두이노 사이의 전압 조정기를 포함한 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
위의 배선도에서 나타나듯이, 1k옴과 2k옴의 저항기 쌍을 사용하여 5V를 3.3V로 조절합니다.
- 아두이노 핀과 RC522 모듈의 MISO 핀 사이에 전압을 조절할 필요가 없습니다.
- 그러나, 아두이노 핀과 RC522 모듈의 SS, SCK, MOSI, RST 핀 사이의 전압을 조절할 필요가 있습니다.
RFID/NFC RC522 모듈과 아두이노 나노의 연결 표
RFID/NFC RC522 | Arduino Nano |
---|---|
SS | → 10 |
SCK | → 13 |
MOSI | → 11 |
MISO | → 12 |
IRQ | not connected |
GND | → GND |
RST | → 5 |
VCC | → 3.3V |
아두이노 나노 RFID/NFC 코드
사용 방법
- Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
- “MFRC522”을 검색하고 GithubCommunity에서 제공하는 라이브러리를 찾으세요.
- 그런 다음, Install 버튼을 눌러 MFRC522 라이브러리를 설치하세요.
- 위의 코드를 복사하고 Arduino IDE로 열어주세요.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 Arduino Nano에 업로드하세요.
- 시리얼 모니터를 엽니다.
- RFID/NFC 태그를 여러 개 RFID-RC522 모듈에 탭하세요.
- 시리얼 모니터에서 UID를 확인하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.