Arduino UNO R4 điều khiển Xe qua Web
Hướng dẫn này sẽ chỉ bạn cách điều khiển xe robot RC 2WD qua web bằng Arduino Uno R4 WiFi. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn từng bước để thiết lập và điều khiển xe robot của bạn từ xa, tận dụng khả năng mạnh mẽ của Arduino Uno R4 với WiFi tích hợp. Sau khi hoàn thành hướng dẫn này, bạn sẽ học được:
- Tại sao cần WebSocket để điều khiển xe RC
- Cách kết nối xe robot 2WD với Arduino Uno R4 WiFi.
- Cách lập trình Arduino Uno R4 WiFi để cung cấp giao diện web cho phép bạn quay xe robot sang trái/phải, tiến/lùi.

Hướng dẫn này hoàn hảo cho những người có sở thích, sinh viên và bất kỳ ai quan tâm đến robotics và hệ thống điều khiển qua web. Cho dù bạn là người mới bắt đầu hay đã có một số kinh nghiệm với Arduino, hướng dẫn từng bước của chúng tôi sẽ giúp bạn đạt được mục tiêu điều khiển xe robot RC 2WD từ xa.
Hãy bắt đầu hành trình thú vị kết hợp robotics và công nghệ web này!
Phần Cứng Cần Thiết
| 1 | × | Arduino UNO R4 WiFi | ||
| 1 | × | Alternatively, DIYables STEM V4 IoT | ||
| 1 | × | (Tùy chọn) DIYables STEM V4 IoT | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Xe RC 2WD | ||
| 1 | × | Module Driver Motor L298N | ||
| 1 | × | Bộ Điều Khiển Từ Xa IR | ||
| 1 | × | Pin CR2025 (cho điều khiển từ xa IR) | ||
| 1 | × | Pin AA 1.5V (cho Arduino UNO R4 và Xe) | ||
| 1 | × | Dây Nối Jumper | ||
| 1 | × | breadboard | ||
| 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) |
Tại sao cần WebSocket để điều khiển xe RC?
- Nếu không có WebSocket, bạn sẽ phải refresh lại trang mỗi khi muốn thay đổi hướng của xe. Phương pháp này không hiệu quả lắm.
- Với WebSocket, một kết nối chuyên dụng được tạo ra giữa trang web và Arduino UNO R4. Thiết lập này cho phép bạn gửi lệnh đến Arduino UNO R4 mà không cần refresh trang. Kết quả là xe robot phản hồi nhanh chóng và mượt mà. Thật tuyệt vời phải không?
Tóm lại, WebSocket cho phép bạn điều khiển robot một cách mượt mà và real-time.
Chúng tôi cung cấp hướng dẫn chi tiết về cách sử dụng WebSocket với Arduino UNO R4. Tìm hiểu thêm bằng cách truy cập liên kết được cung cấp: Arduino UNO R4 - WebSocket hướng dẫn
Cách Thức Hoạt Động
Code Arduino UNO R4 tạo ra một web server và một WebSocket server. Cách thức hoạt động như sau:
- Khi bạn nhập địa chỉ IP của Arduino UNO R4 vào trình duyệt web, nó yêu cầu trang web giao diện người dùng từ Arduino UNO R4. Web server trên Arduino UNO R4 phản hồi bằng cách gửi lại nội dung trang web được tạo từ HTML, CSS và JavaScript. Trình duyệt web của bạn sau đó hiển thị trang web này. Code JavaScript trên trang web bắt đầu một kết nối WebSocket với WebSocket server của Arduino UNO R4. Khi kết nối WebSocket này hoạt động, việc nhấn hoặc thả các nút trên trang web sẽ gửi lệnh đến Arduino UNO R4 thông qua kết nối này. WebSocket server trên Arduino UNO R4 nhận các lệnh này và điều khiển xe robot như được chỉ định.
Dưới đây là bảng hiển thị các lệnh được gửi từ trang web đến Arduino UNO R4, dựa trên những gì người dùng thực hiện:
| Hành Động Người Dùng | Nút | Lệnh | Hành Động Xe |
|---|---|---|---|
| NHẤN | LÊN | 1 | TIẾN |
| NHẤN | XUỐNG | 2 | LÙI |
| NHẤN | TRÁI | 4 | RẼ TRÁI |
| NHẤN | PHẢI | 8 | RẼ PHẢI |
| NHẤN | DỪNG | 0 | DỪNG |
| THẢ | LÊN | 0 | DỪNG |
| THẢ | XUỐNG | 0 | DỪNG |
| THẢ | TRÁI | 0 | DỪNG |
| THẢ | PHẢI | 0 | DỪNG |
| THẢ | DỪNG | 0 | DỪNG |
Sơ Đồ Đấu Nối giữa Xe RC 2WD và Arduino UNO R4

This image is created using Fritzing. Click to enlarge image
Thông thường, bạn sẽ cần hai nguồn điện khác nhau:
- Một cho động cơ.
- Một khác cho bo mạch Arduino UNO R4 và module L298N, được sử dụng làm driver động cơ.
Bạn có thể đơn giản hóa thiết lập này bằng cách sử dụng một nguồn điện - bốn pin 1.5V để tạo tổng cộng 6V. Cách thực hiện như sau:
- Gắn pin vào module L298N như được hướng dẫn.
- Tháo hai jumper khỏi chân ENA và ENB
- Gắn jumper có ghi 5VEN (hiển thị bằng vòng tròn màu vàng trong sơ đồ).
- Kết nối chân 12V của module L298N với chân Vin trên Arduino UNO R4. Điều này sẽ cấp nguồn cho Arduino UNO R4 bằng pin.
Xe RC 2WD có một công tắc on/off. Điều này cho phép bạn kết nối hoặc ngắt kết nối pin bằng công tắc, bật hoặc tắt nguồn xe khi cần thiết. Nếu bạn muốn đơn giản hơn, bạn có thể bỏ qua việc sử dụng công tắc.
Code Arduino UNO R4
Nội dung trang web (HTML, CSS, JavaScript) được lưu trong file riêng biệt có tên index.h. Do đó, chúng ta sẽ sử dụng hai file code trong Arduino IDE.
- File .ino là code Arduino UNO R4 tạo web server và WebSocket Server để điều khiển xe.
- File .h lưu trữ nội dung của trang web.
Các Bước Nhanh
Thực hiện theo 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.
- 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 thích hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
- Mở Library Manager bằng cách nhấp vào biểu tượng Library Manager ở phía bên trái của Arduino IDE.
- Tìm kiếm Web Server for Arduino Uno R4 WiFi và tìm thư viện Web Server do DIYables tạo.
- Nhấp nút Install để cài đặt thư viện Web Server.

- Trong Arduino IDE, bắt đầu sketch mới và đặt tên, ví dụ: newbiely.com.ino
- Sao chép code sau và mở bằng Arduino IDE
- Thay đổi thông tin WiFi (SSID và password) trong chương trình để sử dụng thông tin mạng của bạn.
- Tạo file có tên index.h trong Arduino IDE bằng cách thực hiện một trong các cách sau:
- Nhấp nút nằm bên dưới biểu tượng serial monitor và chọn New Tab, hoặc nhấn Ctrl+Shift+N trên bàn phím.
- Đặt tên file là index.h và nhấn nút OK.
- Sao chép code sau và dán vào file index.h.
- Bây giờ bạn có code trong hai file có tên newbiely.com.ino và index.h.
- Nhấp nút Upload trong Arduino IDE để tải code lên Arduino UNO R4.
- Mở Serial Monitor.
- Quan sát kết quả hiển thị trên Serial Monitor.
- Ghi lại địa chỉ IP hiển thị và nhập nó vào thanh địa chỉ trong trình duyệt web trên điện thoại thông minh hoặc máy tính của bạn.
- Trang web sẽ xuất hiện như sau:
- Nhấn nút CONNECT để liên kết trang web với Arduino UNO R4 thông qua WebSocket.
- Bây giờ bạn có thể chỉ định xe quay trái hoặc phải, và tiến hoặc lùi bằng giao diện web.



Hình ảnh nút điều khiển không được lưu trên Arduino UNO R4 để tiết kiệm bộ nhớ. Thay vào đó, chúng được lưu trữ trực tuyến. Do đó, điện thoại hoặc máy tính của bạn phải kết nối internet để tải các hình ảnh này trên trang điều khiển web.
※ Lưu ý:
Nếu bạn thay đổi HTML trong file có tên index.h nhưng không thay đổi gì trong file có tên newbiely.com.ino, thì khi bạn biên dịch và upload code lên Arduino UNO R4, Arduino IDE sẽ không cập nhật nội dung HTML. Để Arduino IDE cập nhật nội dung HTML, bạn phải thực hiện một thay đổi nhỏ trong file newbiely.com.ino, như thêm một dòng trống hoặc comment.
Giải Thích Code Từng Dòng
Code Arduino UNO R4 được cung cấp bao gồm giải thích cho từng dòng. Hãy chắc chắn đọc các comment trong code!
Khắc Phục Sự Cố Cho Arduino Uno R4
Nếu code trên không hoạt động, vui lòng cập nhật phiên bản mới nhất cho module WiFi của Arduino UNO R4
- Kết nối Arduino Uno R4 WiFi của bạn với PC
- Mở Arduino IDE 2
- Đi đến Tools Firmware Updater

- Chọn bo mạch và cổng Arduino Uno R4 WiFi
- Nhấp nút CHECK UPDATES
- Danh sách các phiên bản firmware có sẵn sẽ xuất hiện
- Chọn phiên bản firmware mới nhất
- Nhấp nút INSTALL
- Đợi cho đến khi hoàn tất
- Khởi động lại Arduino Uno R4 WiFi của bạn
- Biên dịch lại và upload code lên Arduino Uno R4 WiFi
- Kiểm tra kết quả