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ể:
- Kiểm tra UID của thẻ RFID/NFC
- Thay đổi UID của thẻ RFID/NFC (chỉ có thể nếu thẻ cho phép thay đổi UID)
- Thêm dữ liệu vào thẻ RFID/NFC
- Truy xuất dữ liệu từ thẻ RFID/NFC
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.

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.

※ 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.

Để đọ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

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

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) | |
| GND | → GND |
| RST | → 5 |
| VCC | → 3.3V |
Code Arduino UNO R4 RFID/NFC
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.

- 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
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.