아두이노 우노 R4 - RFID/NFC

이 가이드에서는 Arduino UNO R4와 함께 RFID/NFC 기술을 사용하는 방법을 배우겠습니다. 시스템은 리더기와 태그, 두 부분으로 구성됩니다. 우리는 RC522와 PN532 두 종류의 리더기에 대해 논의할 것입니다. 이 가이드는 RC551 리더기에 초점을 맞출 것이며, PN532는 곧 다른 가이드에서 다룰 예정입니다.

RC522 RFID/NFC 리더기, RFID-RC522 모듈로도 알려져 있으며, 다음과 같은 기능을 수행할 수 있습니다:

이 튜토리얼은 Arduino UNO R4를 사용하여 RFID/NFC 태그의 UID를 읽는 방법을 보여줍니다. 이것은 이 장치의 일반적인 사용 예입니다. 다른 기능에 대한 추가 튜토리얼은 추후 제공될 예정입니다.

아두이노 UNO R4 및 RFID rc522

Hardware Preparation

1×Arduino UNO R4 WiFi Amazon
1×Arduino UNO R4 Minima (Alternatively) Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×RFID/NFC RC522 Kit (reader + tags) 쿠팡 | Amazon
1×RFID Key Fob 쿠팡 | Amazon
1×RFID Card Amazon
1×Jumper Wires Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Breadboard Shield For Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino UNO R4 Amazon
1×(Recommended) Power Splitter For Arduino UNO R4 Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

RFID-RC522 모듈에 관하여

RFID-RC522 모듈 핀아웃

RFID-RC522에는 8개의 핀이 포함되어 있습니다. 일부 핀은 공통적으로 사용되며, 다른 핀들은 SPI, I2C, UART의 세 가지 통신 방식 중 하나를 사용합니다. 한 번에 하나의 통신 방식만 사용할 수 있습니다. 핀은 다음과 같습니다:

  • GND 핀: 이것을 GND(0볼트)에 연결하세요.
  • VCC 핀: 이것을 VCC(3.3볼트)에 연결하세요.
  • 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로 사용됩니다.
RFID-RC522 핀아웃

※ NOTE THAT:

  • 각 제조업체마다 핀 배열이 다를 수 있습니다. 항상 모듈 자체의 라벨을 따르십시오. 제공된 이미지는 DIYables 제조업체에 특정합니다.
  • 모듈이 손상될 수 있으므로 VCC 핀을 5V 핀에 연결하지 마십시오.
  • MFRC522 라이브러리는 SPI 모드에서만 작동합니다. 따라서 이 가이드는 SPI 통신만을 사용합니다.

RFID/NFC 작동 방식

RFID/NFC는 리더기와 태그, 두 부분으로 구성됩니다.

  • 리더기는 고주파 전자기장을 생성하는 무선 주파수 모듈과 안테나를 포함합니다.
  • 태그는 자체 전원 공급이 필요 없는 수동 장치입니다. 정보 저장 및 처리를 위한 마이크로칩과 신호 송수신을 위한 안테나가 있습니다. 태그는 UID(고유 ID) 및 기타 데이터를 포함한 정보를 담고 있습니다.
아두이노 RFID NFC 시스템

태그의 정보를 읽으려면 태그가 리더기 근처에 있어야 합니다 (직접 볼 필요는 없습니다). 읽기 과정:

  • 리더기는 태그의 안테나를 통해 전자가 흐르게 하는 자기장을 생성하여 칩을 활성화합니다.
  • 다음으로, 태그의 칩이 새로운 라디오 신호로 필요한 정보를 리더기에 다시 보냅니다.
  • 리더기는 이 신호를 수신하고 데이터를 변환합니다.
  • Arduino UNO R4는 리더기로부터 수신한 데이터를 처리합니다.

RFID-RC522 모듈과 Arduino UNO R4 간의 배선도

RFID-RC522 모듈은 3.3V 전원으로 작동하지만, Arduino UNO R4의 출력 핀은 5V 전원을 제공합니다.

  • 안전을 위해 Arduino UNO R4 핀의 전압을 5V에서 3.3V로 낮춘 후 RC522 모듈에 연결하십시오. 간단히 테스트하려면 Arduino UNO R4 핀을 RC522 모듈에 직접 연결할 수 있지만, 이 경우 Arduino UNO R4가 제대로 작동하지 않을 수 있습니다.

이 가이드는 각 경우에 대해 두 가지 다른 배선도를 제공합니다:

  • RC522와 Arduino UNO R4를 전압 조정기 없이 연결하는 방법
아두이노 UNO R4 RFID RC522 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • RC522를 Arduino UNO R4에 전압 조절기를 사용하여 연결하기 위한 배선도
아두이노 UNO R4 RFID RC522 전압 조절 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

배선도는 1kOhm 및 2kOhm의 저항기 쌍이 5V에서 3.3V로 전압을 조절하는 데 사용됨을 보여줍니다. Arduino UNO R4 핀과 RC522 모듈의 MISO 핀 사이의 전압은 조절할 필요가 없습니다. 그러나 Arduino UNO R4 핀과 RC522 모듈의 SS, SCK, MOSI 및 RST 핀 사이의 전압은 조절해야 합니다.

RFID/NFC RC522 모듈과 Arduino UNO R4의 배선표

RFID/NFC RC522 Arduino UNO R4
SS → 10
SCK → 13
MOSI → 11
MISO → 12
IRQ(not connected)
GNDGND
RST → 5
VCC → 3.3V

아두이노 UNO R4 RFID/NFC 코드

/* * 이 Arduino UNO R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino UNO R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // The Arduino UNO R4 pin connected to the SS pin of RC522 module #define RST_PIN 5 // The Arduino UNO R4 pin connected to the RST pin of RC522 module MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap RFID/NFC Tag on reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); //Serial.print("RFID/NFC Tag Type: "); //Serial.println(rfid.PICC_GetTypeName(piccType)); // print NUID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Detailed Instructions

다음 지침을 단계별로 따르세요:

  • Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우, Arduino IDE에서 Arduino Uno R4 WiFi/Minima 환경 설정하기 튜토리얼을 참조하십시오.
  • 제공된 다이어그램에 따라 부품을 연결하십시오.
  • USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하십시오.
  • 컴퓨터에서 Arduino IDE를 실행하십시오.
  • 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하십시오.
  • Arduino IDE의 왼쪽에 있는 Libraries 아이콘으로 이동하십시오.
  • "MFRC522"를 검색하고 GithubCommunity에서 제공하는 라이브러리를 찾으십시오.
  • MFRC522 라이브러리를 추가하려면 Install 버튼을 클릭하십시오.
아두이노 UNO R4 MFRC522 라이브러리
  • 코드를 복사하여 Arduino IDE에서 엽니다
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino UNN R4에 업로드합니다
  • 시리얼 모니터를 엽니다
  • RFID-RC522 모듈에 RFID/NFC 태그를 몇 개 대어 봅니다
  • 시리얼 모니터에 표시된 UID를 확인합니다
COM6
Send
Tap RFID/NFC tag on reader RFID/NFC tag Type: MIFARE 1KB UID: 3A C9 6A CB RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 04 64 34 5A 1E 4E 80
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

관련 튜토리얼

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!