Arduino UNO R4 WiFi điều khiển rơ-le qua web

Trong hướng dẫn này, chúng ta sẽ học cách điều khiển một rơ-le bằng giao diện web có thể truy cập qua trình duyệt trên PC hoặc điện thoại thông minh. Chúng ta sẽ sử dụng bo mạch Arduino Uno R4 WiFi, được lập trình để hoạt động như một máy chủ web. Giả sử địa chỉ IP của Arduino Uno R4 WiFi là 192.168.0.2. Cách nó hoạt động như sau:

Arduino UNO R4, rơ-le, trình duyệt web

Bằng cách kết nối một rơ-le với các thiết bị như khóa solenoid, bóng đèn, dải đèn LED, động cơ hoặc bộ truyền động, chúng ta có thể điều khiển chúng thông qua giao diện web.

Hướng dẫn cung cấp một nền tảng mà bạn có thể dễ dàng và sáng tạo tùy biến để đạt được các mục tiêu sau:

Phần cứng cần chuẩn bị

1×Arduino UNO R4 WiFi
1×Alternatively, DIYables STEM V4 IoT
1×(Tùy chọn) DIYables STEM V4 IoT
1×USB Cable Type-A to Type-C (for USB-A PC)
1×USB Cable Type-C to Type-C (for USB-C PC)
1×Relay
1×dây jumper
1×(Tùy chọn) Solenoid Lock
1×(Tùy chọn) 12V Power Adapter
1×(Tùy chọn) DC Power Jack
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ề rơ-le và Arduino Uno R4

Nếu bạn chưa biết về Arduino Uno R4 và relay (bố trí chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu về chúng trong những bài hướng dẫn sau đây:

Sơ đồ đấu dây

sơ đồ đấu nối rơ-le cho Arduino UNO R4 WiFi

This image is created using Fritzing. Click to enlarge image

Mã Arduino

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino-uno-r4-wifi-controls-relay-via-web */ #include <UnoR4WiFi_WebServer.h> // WiFi credentials const char WIFI_SSID[] = "YOUR_WIFI_SSID"; const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD"; #define RELAY_PIN 7 // Arduino pin connected to relay's pin const char* HTML_CONTENT = "<!DOCTYPE HTML>\n" "<html>\n" "<head>\n" "<link rel=\"icon\" href=\"data:,\">\n" "</head>\n" "<body>\n" "<a href=\"/relay1/on\">RELAY ON</a>\n" "<br><br>\n" "<a href=\"/relay1/off\">RELAY OFF</a>\n" "</body>\n" "</html>\n"; // Create web server instance UnoR4WiFi_WebServer server; // Page handlers void handleHome(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { server.sendResponse(client, HTML_CONTENT); } void handleRelayOn(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { digitalWrite(RELAY_PIN, HIGH); Serial.println("Turned relay ON"); server.sendResponse(client, HTML_CONTENT); } void handleRelayOff(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { digitalWrite(RELAY_PIN, LOW); Serial.println("Turned relay OFF"); server.sendResponse(client, HTML_CONTENT); } void setup() { Serial.begin(9600); delay(1000); // Initialize relay pin pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // Connect to WiFi Serial.print("Connecting to "); Serial.println(WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("connected!"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); // Configure routes server.addRoute("/", handleHome); server.addRoute("/relay1/on", handleRelayOn); server.addRoute("/relay1/off", handleRelayOff); // Start server server.begin(); Serial.println("\n=== Web Server Ready! ==="); Serial.print("Visit: http://"); Serial.println(WiFi.localIP()); } void loop() { server.handleClient(); }

Hướng dẫn từng bước

  • Nếu đây là lần đầu bạn sử dụng Arduino Uno R4, hãy xem Cách bắt đầu với Arduino UNO R4.
  • Mở Library Manager bằng cách nhấp vào biểu tượng Trình quản lý thư viện ở 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 được DIYables tạo ra.
  • Nhấp vào nút Cài đặt để thêm thư viện Web Server.
thư viện máy chủ web cho Arduino UNO R4
  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Thay đổi thông tin Wi‑Fi (SSID và mật khẩu) trong mã cho phù hợp với mạng của bạn
  • Nhấn nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • Mở Serial Monitor
  • Xem kết quả trên Serial Monitor
COM6
Send
Attempting to connect to SSID: YOUR_WIFI IP Address: 192.168.0.2 signal strength (RSSI):-39 dBm
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Bạn sẽ thấy một địa chỉ IP, ví dụ: 192.168.0.2. Đây là địa chỉ IP của máy chủ web Arduino
  • Mở trình duyệt web và nhập một trong ba định dạng dưới đây vào thanh địa chỉ:
192.168.0.2
192.168.0.2/relay1/on
192.168.0.2/relay1/off
  • Xin lưu ý rằng địa chỉ IP có thể khác nhau. Hãy đảm bảo kiểm tra giá trị hiện tại trên Serial Monitor.
  • Ngoài ra, bạn sẽ thấy đầu ra sau đây trên Serial Monitor.
COM6
Send
Connecting to YOUR_WIFI_SSID connected! IP address: 0.0.0.0 Starting web server on IP: 192.168.0.254 === Web Server Ready! === Visit: http://192.168.0.254 Method: GET Requested path: / Client disconnected Method: GET Requested path: /relay1/on Turned relay on Client disconnected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Kiểm tra trạng thái rơ-le
  • Bạn sẽ thấy trang web của bảng Arduino trên trình duyệt web như dưới đây:
Arduino UNO R4 rơ-le trình duyệt web

Bây giờ, bạn có thể điều khiển trạng thái bật/tắt của rơ-le thông qua giao diện web. Bạn cũng có thể dễ dàng và sáng tạo tùy chỉnh mã để đạt được những điều sau đây:

  • Điều khiển nhiều rơ-le thông qua giao diện web.
  • Thiết kế lại giao diện người dùng trên web (UI) để phù hợp với sở thích của bạn.

Nếu bạn muốn cải thiện giao diện của trang web bằng một giao diện người dùng đồ họa (UI) ấn tượng, bạn có thể tham khảo hướng dẫn Arduino - Máy chủ web để lấy cảm hứng và được hướng dẫn.