Arduino UNO R4 RFID/NFC

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng công nghệ RFID/NFC với Arduino UNO R4. Hệ thống có hai phần: đầu đọc và thẻ tag. Chúng ta sẽ thảo luận về hai loại đầu đọc: RC522 và PN532. Hướng dẫn này sẽ tập trung vào đầu đọc RC522, và chúng tôi sẽ đề cập đến PN532 trong một hướng dẫn khác sắp tới.

Đầu đọc RC522 RFID/NFC, còn được gọi là Module RFID-RC522, có thể:

Hướng dẫn này chỉ bạn cách đọc UID của thẻ RFID/NFC bằng Arduino UNO R4. Đây là ứng dụng phổ biến nhất cho thiết bị này. Các hướng dẫn khác về những tính năng khác sẽ được đăng tải sau.

Arduino UNO R4 và RFID rc522

Linh Kiện Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Hoặc thay thế)
1×Cáp USB Type-C
1×Bộ Kit RFID/NFC RC522 (đầu đọc + thẻ tag)
1×Móc khóa RFID
1×Thẻ RFID
1×Dây nhảy
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Module RFID-RC522

Sơ đồ chân Module RFID-RC522

Module RFID-RC522 có 8 chân. Một số chân là chung, trong khi những chân khác được sử dụng cho ba phương thức giao tiếp khác nhau: SPI, I2C và UART. Bạn chỉ có thể sử dụng một phương thức giao tiếp tại một thời điểm. Các chân bao gồm:

  • Chân GND: Kết nối tới GND (0 volt).
  • Chân VCC: Kết nối tới VCC (3.3 volt).
  • Chân RST: Đây là chân reset và tắt nguồn. Nếu chân này nhận tín hiệu thấp, nó sẽ kích hoạt tắt nguồn cứng. Tín hiệu tăng sẽ reset lại module.
  • Chân IRQ: Đây là chân ngắt thông báo cho microcontroller khi có thẻ RFID ở gần.
  • Chân MISO/SCL/TX: Hoạt động như MISO với SPI, SCL với I2C, và TX với UART.
  • Chân MOSI: Hoạt động như MOSI khi bật SPI.
  • Chân SCK: Hoạt động như SCK khi bật SPI.
  • Chân SS/SDA/RX: Hoạt động như SS với SPI, SDA với I2C, và RX với UART.
sơ đồ chân RFID-rc522

※ Lưu ý:

  • Sự sắp xếp các chân có thể khác nhau tùy theo nhà sản xuất. Luôn tuân theo nhãn trên module. Hình ảnh được cung cấp cụ thể cho nhà sản xuất DIYables.
  • Không kết nối chân VCC với chân 5V vì có thể làm hỏng module của bạn.
  • Thư viện MFRC522 chỉ hoạt động với chế độ SPI. Do đó, hướng dẫn này chỉ sử dụng giao tiếp SPI độc quyền.

RFID/NFC Hoạt Động Như Thế Nào

RFID/NFC có hai phần: đầu đọc và thẻ tag.

  • Đầu đọc bao gồm một module tần số radio và một ăng-ten tạo ra trường điện từ tần số cao.
  • Thẻ tag là một thiết bị thụ động không cần nguồn điện riêng. Nó có một microchip để lưu trữ và xử lý thông tin, và một ăng-ten để gửi và nhận tín hiệu. Thẻ tag chứa thông tin như UID (ID Duy nhất) và dữ liệu khác.
hệ thống Arduino RFID nfc

Để đọc thông tin trên thẻ tag, thẻ tag cần ở gần đầu đọc (không cần nhìn thấy trực tiếp). Quá trình đọc:

  • Đầu đọc tạo ra một trường từ làm electron chạy qua ăng-ten của thẻ tag, sau đó kích hoạt chip.
  • Tiếp theo, chip trong thẻ tag gửi lại thông tin cần thiết cho đầu đọc dưới dạng tín hiệu radio mới.
  • Đầu đọc thu nhận tín hiệu này và chuyển đổi nó thành dữ liệu.
  • Arduino UNO R4 xử lý dữ liệu nhận được từ đầu đọc.

Sơ Đồ Đấu Nối giữa Module RFID-RC522 và Arduino UNO R4

Module RFID-RC522 hoạt động với nguồn điện 3.3V, nhưng các chân đầu ra của Arduino UNO R4 cung cấp nguồn điện 5V.

  • Đảm bảo an toàn bằng cách giảm điện áp từ 5V trên các chân Arduino UNO R4 xuống 3.3V trước khi kết nối với Module RC522. Để đơn giản và thử nghiệm, bạn có thể kết nối trực tiếp các chân Arduino UNO R4 với Module RC522, nhưng điều này đôi khi có thể dẫn đến Arduino UNO R4 không hoạt động bình thường.

Hướng dẫn này cung cấp hai sơ đồ đấu nối khác nhau cho từng trường hợp:

  • Cách Kết Nối RC522 và Arduino UNO R4 không có Bộ Điều Chỉnh Điện Áp
sơ đồ đấu nối Arduino UNO R4 RFID rc522

This image is created using Fritzing. Click to enlarge image

  • Sơ Đồ Đấu Nối RC522 với Arduino UNO R4 có Bộ Điều Chỉnh Điện Áp
sơ đồ đấu nối Arduino UNO R4 RFID rc522 với điều chỉnh điện áp

This image is created using Fritzing. Click to enlarge image

Sơ đồ đấu nối cho thấy một cặp điện trở, 1kOhm và 2kOhm, được sử dụng để điều chỉnh điện áp từ 5V xuống 3.3V. Không cần điều chỉnh điện áp giữa chân Arduino UNO R4 và chân MISO của module RC522. Tuy nhiên, bạn cần điều chỉnh điện áp giữa các chân Arduino UNO R4 và các chân SS, SCK, MOSI, và RST của module RC522.

Bảng đấu nối của Module RFID/NFC RC522 và Arduino UNO R4

RFID/NFC RC522 Arduino UNO R4
SS → 10
SCK → 13
MOSI → 11
MISO → 12
IRQ(không kết nối)
GNDGND
RST → 5
VCC → 3.3V

Code Arduino UNO R4 RFID/NFC

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/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 } } }

Các Bước Thực Hiện

Thực hiện theo các hướng dẫn từng bước sau:

  • Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Đấu nối các linh kiện theo sơ đồ được cung cấp.
  • Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi động Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Đi tới biểu tượng Libraries ở phía bên trái của Arduino IDE.
  • Tìm kiếm "MFRC522" và tìm thư viện của GithubCommunity.
  • Nhấp vào nút Install để thêm thư viện MFRC522.
thư viện Arduino UNO R4 mfrc522
  • Sao chép code và mở nó trong Arduino IDE
  • Nhấp vào nút Upload trong Arduino IDE để tải code lên Arduino UNO R4
  • Mở Serial Monitor
  • Chạm một số thẻ RFID/NFC trên module RFID-RC522
  • Kiểm tra UID hiển thị trên Serial Monitor
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

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Bình Luận

Bài hướng dẫn liên quan