ESP32 RFID Servo Motor
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng thẻ RFID/NFC để điều khiển servo motor bằng ESP32. Hoạt động như sau:
- Khi một thẻ được ủy quyền được chạm, ESP32 sẽ xoay servo motor đến 90°
- Khi thẻ được ủy quyền được chạm lại lần nữa, ESP32 sẽ xoay servo motor trở về 0°
- Quá trình trên lặp lại vô hạn
Điều này có thể được áp dụng để khóa/mở khóa tủ, ngăn kéo, cửa, hoặc mở/đóng máy cho ăn thú cưng...
Phần cứng cần chuẩn bị
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Bộ Kit RFID/NFC RC522 (đầu đọc + thẻ) | ||
| 1 | × | Móc Khóa RFID | ||
| 1 | × | Thẻ RFID | ||
| 1 | × | động cơ servo | ||
| 1 | × | Adapter Nguồn 5V | ||
| 1 | × | Jack Nguồn DC | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Module RFID/NFC RC522 và Servo Motor
Nếu bạn chưa biết về Module RFID/NFC RC522 và Servo Motor (sơ đồ chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu về chúng trong các hướng dẫn sau:
- Hướng dẫn ESP32 - RFID/NFC
- Hướng dẫn ESP32 - Servo Motor
Cách Hoạt Động
- UID của một số thẻ RFID/NFC được cài đặt trước trong code ESP32
- Người dùng chạm thẻ RFID/NFC lên đầu đọc RFID/NFC
- Đầu đọc đọc UID từ thẻ
- ESP32 nhận UID từ đầu đọc
- ESP32 so sánh UID đã đọc với các UID được định nghĩa trước
- Nếu UID khớp với một trong các UID được định nghĩa trước, ESP32 điều khiển servo motor đến 90°
- Nếu thẻ được chạm lại, ESP32 điều khiển servo motor trở về 0°
- Quá trình này lặp lại vô hạn
Sơ Đồ Kết Nối

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
※ Lưu ý:
Thứ tự các chân có thể khác nhau tùy theo nhà sản xuất. LUÔN sử dụng các nhãn được in trên module. Hình ảnh trên hiển thị sơ đồ chân của các module từ nhà sản xuất DIYables.
Code ESP32 - Thẻ RFID/NFC Đơn Lẻ
Các Bước Nhanh
- Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Thực hiện kết nối theo hình ảnh trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Click vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm "MFRC522", sau đó tìm thư viện của GithubCommunity
- Click nút Install để cài đặt thư viện MFRC522.

- Nhập ESP32Servo vào ô tìm kiếm, sau đó tìm thư viện servo của Kevin Harrington, John K. Bennett.
- Click nút Install để cài đặt thư viện servo motor cho ESP32.

Vì UID thường không được in trên thẻ RFID/NFC, bước đầu tiên chúng ta cần làm là tìm ra UID của thẻ. Điều này có thể được thực hiện bằng cách:
- Copy code trên và mở với Arduino IDE
- Click nút Upload trên Arduino IDE để tải code lên ESP32
- Mở Serial Monitor
- Chạm thẻ RFID/NFC lên module RFID-RC522
- Lấy UID trên Serial Monitor
Sau khi có UID:
- Cập nhật UID ở dòng 20 của code trên. Ví dụ, thay đổi byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; THÀNH byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Tải code lên ESP32 một lần nữa
- Chạm thẻ RFID/NFC lên module RFID-RC522
- Bạn sẽ thấy servo motor xoay đến 90°
- Xem kết quả trên Serial Monitor
- Chạm cùng thẻ RFID/NFC lên module RFID-RC522 một lần nữa
- Bạn sẽ thấy servo motor xoay về 0°
- Xem kết quả trên Serial Monitor
- Chạm thẻ RFID/NFC khác lên module RFID-RC522
- Xem kết quả trên Serial Monitor
Code ESP32 - Nhiều Thẻ RFID/NFC
Chúng ta có thể cho phép nhiều thẻ RFID/NFC điều khiển servo motor. Code dưới đây sử dụng hai thẻ làm ví dụ.
Thực hiện các bước tương tự như trên, sau đó chạm từng thẻ một lên module RFID-RC522. Kết quả trên Serial Monitor sẽ trông như sau:
Bạn có thể mở rộng code trên cho ba, bốn, hoặc nhiều thẻ hơn.
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.