Arduino WebDigitalPins Example Hướng dẫn Giao diện Điều khiển Digital Pin
Tổng quan
Example WebDigitalPins cung cấp giao diện web để điều khiển và giám sát tất cả các digital pin trên Arduino của bạn. Được thiết kế cho Arduino Uno R4 WiFi và nền tảng giáo dục DIYables STEM V4 IoT với khả năng GPIO nâng cao, cấu hình pin mở rộng, và tính năng giáo dục tích hợp để học điện tử số. Bạn có thể bật/tắt pin, giám sát trạng thái thời gian thực, và thực hiện các thao tác hàng loạt thông qua giao diện web trực quan.

Tính năng
- Điều khiển Pin Riêng lẻ: Điều khiển từng digital pin (0-13) riêng biệt
- Trạng thái Thời gian thực: Giám sát trạng thái pin với chỉ báo trực quan
- Thao tác Hàng loạt: Điều khiển tất cả pin cùng lúc (Tất cả BẬT, Tất cả TẮT, Đảo tất cả)
- Cấu hình Pin: Thiết lập pin là Input hoặc Output qua giao diện web
- Phản hồi Trực quan: Nút có mã màu hiển thị trạng thái pin (xanh lá=BẬT, đỏ=TẮT)
- Thiết kế Responsive: Hoạt động trên desktop, tablet và thiết bị di động
- Giao tiếp WebSocket: Cập nhật tức thì không cần tải lại trang
- Mở rộng Nền tảng: Hiện tại được triển khai cho Arduino Uno R4 WiFi, nhưng có thể mở rộng cho các nền tảng phần cứng khác. Xem DIYables_WebApps_ESP32
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 | × | (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) |
Hướng dẫn Cài đặt
Các Bước Nhanh
Làm theo các hướng dẫn này từng bước:
- Mới sử dụng Arduino Uno R4 WiFi? Hãy bắt đầu với hướng dẫn Arduino UNO R4 - Cài Đặt Phần Mềm để học các kiến thức cơ bản trước.
- Kết nối board Arduino Uno R4/DIYables STEM V4 IoT với máy tính bằng cáp USB.
- Khởi động Arduino IDE trên máy tính của bạn.
- Chọn board Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
- Chuyển đến biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm "DIYables WebApps", sau đó tìm thư viện DIYables WebApps của DIYables
- Nhấp nút Install để cài đặt thư viện.

- Bạn sẽ được yêu cầu cài đặt một số thư viện phụ thuộc khác
- Nhấp nút Install All để cài đặt tất cả thư viện phụ thuộc.

- Trên Arduino IDE, đi đến File Examples DIYables WebApps WebDigitalPins example, hoặc copy code trên và paste vào editor của Arduino IDE
- Cấu hình thông tin WiFi trong code bằng cách cập nhật các dòng này:
- Nhấp nút Upload trên Arduino IDE để upload code lên Arduino UNO R4/DIYables STEM V4 IoT
- Mở Serial Monitor
- Kiểm tra kết quả trên Serial Monitor. Nó sẽ hiển thị như bên dưới
- Nếu bạn không thấy gì, hãy khởi động lại board Arduino.
- Ghi nhớ địa chỉ IP hiển thị, và nhập địa chỉ này vào thanh địa chỉ của trình duyệt web trên smartphone hoặc PC.
- Ví dụ: http://192.168.0.2
- Bạn sẽ thấy trang chủ như hình dưới:

- Nhấp vào link Web Digital Pins, bạn sẽ thấy giao diện ứng dụng Web Digital Pins như bên dưới:

- Hoặc bạn cũng có thể truy cập trang trực tiếp bằng địa chỉ IP theo sau bởi /web-digital-pins. Ví dụ: http://192.168.0.2/web-digital-pins
- Thử điều khiển các digital pin bằng cách nhấp vào các nút pin để bật/tắt chúng và quan sát LED tích hợp (pin 13) phản hồi theo lệnh của bạn.
Tùy chỉnh Sáng tạo - Điều chỉnh Code cho Dự án của Bạn
Example hiển thị các cách khác nhau để cấu hình pin phù hợp với nhu cầu dự án sáng tạo của bạn:
2. Cấu hình Thiết lập Pin
Example hiển thị các cách khác nhau để cấu hình pin:
Phương pháp 1: Kích hoạt Pin Cụ thể
Phương pháp 2: Kích hoạt Dải Pin
Phương pháp 3: Kích hoạt Tất cả Pin
4. Upload Sketch
- Chọn board Arduino: Tools → Board → Arduino UNO R4 WiFi
- Chọn cổng đúng: Tools → Port → [Cổng Arduino của bạn]
- Nhấp nút Upload
5. Lấy địa chỉ IP
- Mở Tools → Serial Monitor
- Đặt baud rate thành 9600
- Chờ Arduino kết nối WiFi
- Ghi nhớ địa chỉ IP hiển thị (ví dụ: 192.168.1.100)
6. Truy cập Giao diện Digital Pins
Mở trình duyệt web và điều hướng đến:
Ví dụ: http://192.168.1.100/digital-pins
Cách Sử dụng
Giao diện Điều khiển Pin
Giao diện web hiển thị tất cả pin đã cấu hình với:
- Số Pin: Hiển thị pin Arduino nào (0-13)
- Trạng thái Hiện tại: Chỉ báo BẬT (xanh lá) hoặc TẮT (đỏ)
- Nút Điều khiển: Nhấp để chuyển đổi trạng thái pin
- Loại Pin: Hiển thị nếu được cấu hình là Input hoặc Output
Điều khiển Pin Riêng lẻ
- Bật Pin: Nhấp nút pin khi nó hiển thị "OFF"
- Tắt Pin: Nhấp nút pin khi nó hiển thị "ON"
- Giám sát Trạng thái: Các nút pin tự động cập nhật để hiển thị trạng thái hiện tại
Thao tác Hàng loạt
Sử dụng các nút điều khiển hàng loạt để điều khiển nhiều pin cùng lúc:
Tất cả BẬT
- Bật tất cả output pin đã cấu hình lên trạng thái HIGH
- Input pin không bị ảnh hưởng
- Hữu ích để thử nghiệm tất cả thiết bị kết nối
Tất cả TẮT
- Tắt tất cả output pin đã cấu hình xuống trạng thái LOW
- Input pin không bị ảnh hưởng
- Cách an toàn để vô hiệu hóa tất cả output
Đảo Tất cả
- Đảo trạng thái của tất cả output pin
- Pin BẬT trở thành TẮT, pin TẮT trở thành BẬT
- Tạo hiệu ứng ánh sáng thú vị
Giám sát Thời gian thực
- Trạng thái pin tự động cập nhật qua WebSocket
- Các thay đổi thực hiện trong code được phản ánh trong giao diện web
- Nhiều người dùng có thể giám sát cùng một Arduino đồng thời
Kết nối Phần cứng
Ví dụ Output Pin
Điều khiển LED
Điều khiển Relay
Điều khiển Motor (qua Motor Driver)
Ví dụ Input Pin
Switch Input
Sensor Input
Tùy chỉnh Code
Thêm Callback Thay đổi Pin
Giám sát khi pin thay đổi trạng thái:
Khởi tạo Pin Tùy chỉnh
Đặt pin cụ thể về trạng thái mong muốn khi khởi động:
Đọc Input Pin
Giám sát input pin trong vòng lặp chính:
Tính năng Nâng cao
Nhóm Pin
Tạo nhóm logic các pin cho các chức năng liên quan:
Tạo Pattern
Tạo pattern ánh sáng hoặc chuỗi:
Tích hợp Điều khiển PWM
Kết hợp với điều khiển analog cho các tính năng nâng cao:
Cân nhắc An toàn
Hướng dẫn Sử dụng Pin
Pin 0 & 1 (TX/RX)
- Được sử dụng cho giao tiếp Serial
- Tránh sử dụng trừ khi thực sự cần thiết
- Có thể gây cản trở lập trình và debug
Pin 13 (LED tích hợp)
- An toàn để sử dụng cho thử nghiệm
- LED tích hợp cung cấp phản hồi trực quan
- Tốt cho thử nghiệm ban đầu
Pin 2-12
- An toàn cho digital I/O tổng quát
- Được khuyến nghị cho hầu hết ứng dụng
- Không có cân nhắc đặc biệt
Giới hạn Dòng điện
Dòng điện Tối đa mỗi Pin: 40mA
- Sử dụng điện trở hạn dòng với LED
- Sử dụng transistor hoặc relay cho tải dòng cao
- Cân nhắc tổng mức tiêu thụ dòng điện
Mức Điện áp: 3.3V logic
- Arduino Uno R4 WiFi sử dụng logic 3.3V
- Đảm bảo các thiết bị kết nối tương thích
- Sử dụng level shifter cho thiết bị 5V nếu cần
Khắc phục Sự cố
Vấn đề Thường gặp
1. Pin không phản hồi
- Kiểm tra pin đã được kích hoạt trong code
- Xác minh kết nối phần cứng
- Kiểm tra ngắn mạch
- Xác nhận chế độ pin (INPUT/OUTPUT)
2. Giao diện web không cập nhật
- Kiểm tra trạng thái kết nối WebSocket
- Tải lại trang trình duyệt
- Xác minh kết nối mạng
- Kiểm tra Serial Monitor để biết lỗi
3. Thao tác hàng loạt không hoạt động
- Đảm bảo pin được cấu hình là output
- Kiểm tra giới hạn phần cứng
- Xác minh khả năng nguồn cấp
- Giám sát điều kiện quá dòng
4. Input pin hiển thị trạng thái sai
- Kiểm tra điện trở pull-up/pull-down thích hợp
- Xác minh mức tín hiệu đầu vào
- Kiểm tra nhiễu điện từ
- Xác nhận cấu hình pin
Mẹo Debug
Kích hoạt debug output:
Ý tưởng Dự án
Tự động hóa Nhà
- Điều khiển đèn phòng
- Vận hành rèm cửa sổ
- Điều khiển hệ thống sưởi/làm mát
- Tích hợp hệ thống bảo mật
Tự động hóa Vườn
- Điều khiển hệ thống tưới
- Quản lý đèn trồng cây
- Điều hòa nhiệt độ
- Điều khiển độ ẩm
Điều khiển Xưởng
- Điều khiển nguồn dụng cụ
- Quản lý ánh sáng
- Hệ thống thông gió
- Khóa an toàn
Dự án Giáo dục
- Trình diễn cổng logic
- Mô phỏng đèn giao thông
- Dự án hệ thống báo động
- Thí nghiệm điều khiển từ xa
Ví dụ Tích hợp
Đèn Kích hoạt bởi Chuyển động
Quạt Điều khiển theo Nhiệt độ
Bước tiếp theo
Sau khi thành thạo example WebDigitalPins, hãy thử:
- WebSlider - Cho điều khiển PWM và analog
- WebJoystick - Cho điều khiển theo hướng
- WebMonitor - Cho debug và giám sát
- MultipleWebApps - Kết hợp tất cả tính năng
Hỗ trợ
Để được hỗ trợ thêm:
- Kiểm tra tài liệu API Reference
- Truy cập hướng dẫn DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Diễn đàn cộng đồng Arduino