ESP8266 Mô-đun chuyển tiếp NodeMCU - Thiết bị AC điều khiển (Máy chủ Web) Sử dụng rơle với ESP8266 là một cách tuyệt vời để điều khiển các thiết bị gia dụng AC từ xa. Hướng dẫn này giải thích cách điều khiển mô-đun chuyển tiếp bằng ESP8266 NodeMCU. Chúng ta sẽ xem xét cách mô-đun chuyển tiếp hoạt động, cách kết nối rơle với ESP8266 và xây dựng máy chủ web để điều khiển rơle từ xa (hoặc nhiều rơle như bạn muốn).
Tìm hiểu cách điều khiển mô-đun rơle bằng bảng ESP32: Hướng dẫn cho Mơ-đun rơle ESP32 - Điều khiển Thiết bị AC + Ví dụ về Máy chủ Web.
Giới thiệu Relays Rơle là một công tắc hoạt động bằng điện và giống như bất kỳ cơng tắc nào khác, nó có thể được bật hoặc tắt, cho phép dịng điện đi qua hoặc khơng. Nó có thể được điều khiển với điện áp thấp, như 3.3V được cung cấp bởi ESP8266 GPIO và cho phép chúng tôi điều khiển điện áp cao như 12V, 24V hoặc điện áp nguồn (230V ở Châu Âu và 120V ở Mỹ).
Mô-đun chuyển tiếp 1, 2, 4, 8, 16 kênh Có các mơ-đun chuyển tiếp khác nhau với số lượng kênh khác nhau. Bạn có thể tìm thấy các mơ-đun chuyển tiếp với một, hai, bốn, tám và thậm chí mười sáu kênh. Số lượng kênh xác định số lượng đầu ra mà chúng tơi có thể kiểm soát.
1/16
Có các mơ-đun rơle có nam châm điện có thể được cấp nguồn bởi 5V và với 3.3V. Cả hai đều có thể được sử dụng với ESP8266 - bạn có thể sử dụng chân Vin (cung cấp 5V) hoặc chân 3.3V. Ngoài ra, một số đi kèm với bộ ghép quang tích hợp bổ sung thêm một "lớp" bảo vệ, cách ly quang học ESP8266 khỏi mạch rơle.
Nhận mô-đun chuyển tiếp:
Sơ đồ chân rơle Đối với mục đích trình diễn, chúng ta hãy xem sơ đồ chân của mô-đun rơle 2 kênh. Sử dụng mô-đun chuyển tiếp với số lượng kênh khác nhau cũng tương tự.
2/16
Hai đầu nối (mỗi đầu nối có ba ổ cắm) ở phía bên trái của mơ-đun rơle kết nối điện áp cao và các chân ở phía bên phải (điện áp thấp) kết nối với GPIO ESP8266.
Kết nối điện áp nguồn
Mô-đun rơle được hiển thị trong ảnh trước có hai đầu nối, mỗi đầu nối có ba ổ cắm: chung (COM), thường đóng (NC) và thường mở (NO). COM: kết nối dịng điện bạn muốn điều khiển (điện áp nguồn). NC (Thường đóng): cấu hình thường đóng được sử dụng khi bạn muốn đóng rơle theo mặc định. NC là các chân COM được kết nối, có nghĩa là dịng điện đang chạy trừ khi bạn gửi tín hiệu từ ESP8266 đến mơ-đun rơle để mở mạch và dừng dịng điện. NO (Thường mở): cấu hình thường mở hoạt động theo cách khác: khơng có kết nối giữa các chân NO và COM, do đó mạch bị hỏng trừ khi bạn gửi tín hiệu từ ESP8266 để đóng mạch.
Chân điều khiển
3/16
Phía điện áp thấp có một bộ bốn chân và một bộ ba chân. Bộ đầu tiên bao gồm VCC và GND để cấp nguồn cho mô-đun và đầu vào 1 (IN1) và đầu vào 2 (IN2) để điều khiển rơle dưới cùng và trên cùng, tương ứng. Nếu mô-đun chuyển tiếp của bạn chỉ có một kênh, bạn sẽ chỉ có một chân IN. Nếu bạn có bốn kênh, bạn sẽ có bốn chân IN, v.v. Tín hiệu bạn gửi đến các chân IN, xác định xem rơle có hoạt động hay khơng. Rơle được kích hoạt khi đầu vào xuống dưới khoảng 2V. Điều này có nghĩa là bạn sẽ có các tình huống sau: Cấu hình thường đóng (NC): Tín hiệu CAO - dịng điện đang chảy Tín hiệu LOW – dịng điện khơng chạy Cấu hình thường mở (NO): Tín hiệu CAO – dịng điện khơng chạy Tín hiệu LOW - dòng điện đang chạy Bạn nên sử dụng cấu hình thường đóng khi dịng điện nên chạy hầu hết thời gian và bạn chỉ muốn thỉnh thoảng dừng nó. Sử dụng cấu hình thường mở khi bạn muốn thỉnh thoảng dịng điện chạy (ví dụ: thỉnh thoảng bật đèn).
Lựa chọn nguồn điện
4/16
Bộ chân thứ hai bao gồm các chân GND, VCC và JD-VCC. Chân JD-VCC cấp nguồn cho nam châm điện của rơle. Lưu ý rằng mơ-đun có nắp nhảy kết nối các chân VCC và JDVCC; Cái được hiển thị ở đây có màu vàng, nhưng màu của bạn có thể là một màu khác. Khi bật nắp nhảy, các chân VCC và JD-VCC được kết nối. Điều đó có nghĩa là nam châm điện rơle được cấp nguồn trực tiếp từ chân nguồn ESP8266, do đó mơ-đun rơle và mạch ESP8266 khơng được cách ly vật lý với nhau. Nếu khơng có nắp nhảy, bạn cần cung cấp một nguồn năng lượng độc lập để cấp nguồn
cho nam châm điện của rơle thông qua chân JD-VCC. Cấu hình đó cách ly vật lý các rơle khỏi ESP8266 với bộ ghép quang tích hợp của mơ-đun, giúp ngăn ngừa thiệt hại cho ESP8266 trong trường hợp tăng đột biến điện.
ESP8266 Chân an toàn nhất để sử dụng với rơle Một số chân ESP8266 phát ra tín hiệu 3.3V khi ESP8266 khởi động. Điều này có thể có vấn đề nếu bạn có rơle hoặc các thiết bị ngoại vi khác được kết nối với các GPIO đó. Ngồi ra, một số chân phải được kéo CAO hoặc THẤP để khởi động ESP8266. Có tính đến điều này, các chân ESP8266 an toàn nhất để sử dụng với rơle là: GPIO 5, GPIO 4, GPIO 14, GPIO 12 và GPIO 13. Để biết thêm thông tin về các GPIO ESP8266, hãy đọc: Tham chiếu sơ đồ chân ESP8266: Bạn nên sử dụng chân GPIO nào?
Đấu dây mô-đun rơle với bảng mạch ESP8266 NodeMCU
5/16
Kết nối mô-đun rơle với ESP8266 như thể hiện trong sơ đồ sau. Sơ đồ cho thấy hệ thống dây điện cho mô-đun rơle 2 kênh, nối dây một số kênh khác nhau là tương tự. Cảnh báo: trong ví dụ này, chúng ta đang xử lý điện áp nguồn. Sử dụng sai có thể dẫn đến thương tích nghiêm trọng. Nếu bạn không quen thuộc với điện áp lưới, hãy hỏi ai đó sẽ giúp bạn. Trong khi lập trình ESP hoặc nối dây mạch của bạn, hãy đảm bảo mọi thứ được ngắt kết nối khỏi điện áp nguồn. Ngồi ra, bạn có thể sử dụng nguồn điện 12V để điều khiển các thiết bị 12V.
Trong ví dụ này, chúng ta đang điều khiển đèn. Chúng tơi chỉ muốn thỉnh thoảng thắp sáng đèn, vì vậy tốt hơn là sử dụng cấu hình mở bình thường. Chúng tôi đang kết nối chân IN1 với GPIO 5, bạn có thể sử dụng bất kỳ GPIO phù hợp nào khác. Xem Hướng dẫn Tham khảo GPIO ESP8266.
Điều khiển mô-đun chuyển tiếp với ESP8266 NodeMCU - Arduino Sketch Mã để điều khiển rơle với ESP8266 cũng đơn giản như điều khiển đèn LED hoặc bất kỳ đầu ra nào khác. Trong ví dụ này, khi chúng ta đang sử dụng cấu hình thường mở, chúng ta cần gửi tín hiệu LOW để cho dịng điện chạy và tín hiệu HIGH để dừng dịng điện.
6/16
Đoạn mã sau sẽ sáng đèn của bạn trong 10 giây và tắt thêm 10 giây nữa. /*********
Rui Santos
Complete project details at /> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*********/
const int relay = 5;
void setup() {
Serial.begin(115200);
pinMode(relay, OUTPUT);
}
void loop() {
// Normally Open configuration, send LOW signal to let current flow
// (if you're usong Normally Closed configuration send HIGH signal)
digitalWrite(relay, LOW);
Serial.println("Current Flowing");
delay(5000);
// Normally Open configuration, send HIGH signal stop current flow
Mã hoạt động như thế nào Xác định chốt mà chân IN rơle được kết nối. const int relay = 5;
Trong setup(), định nghĩa relay là đầu ra. pinMode(relay, OUTPUT);
Trong loop(), gửi tín hiệu LOW để dòng điện chạy và thắp đèn. digitalWrite(relay, LOW);
Nếu bạn đang sử dụng cấu hình thường đóng, hãy gửi tín hiệu CAO để thắp đèn. Sau đó, đợi 5 giây. delay(5000);
Dừng dịng điện bằng cách gửi tín hiệu CAO đến chân rơle. Nếu bạn đang sử dụng cấu hình thường đóng, hãy gửi tín hiệu THẤP để dừng dịng điện. digitalWrite(relay, HIGH);
Điều khiển nhiều rơle với Máy chủ Web ESP8266 NodeMCU
8/16
Trong phần này, chúng tơi đã tạo một ví dụ về máy chủ web cho phép bạn kiểm soát bao nhiêu rơle tùy thích thơng qua máy chủ web cho dù chúng được định cấu hình như thường mở hay đóng bình thường. Bạn chỉ cần thay đổi một vài dòng mã để xác định số lượng rơle bạn muốn điều khiển và gán pin. Để xây dựng máy chủ web này, chúng tôi sử dụng thư viện ESPAsyncWebServer.
Cài đặt thư viện ESPAsyncWebServer Làm theo các bước tiếp theo để cài đặt thư viện ESPAsyncWebServer: 1. Bấm vào đây để tải xuống thư viện ESPAsyncWebServer. Bạn sẽ có một thư mục .zip trong thư mục Tải xuống của mình 2. Giải nén thư mục .zip và bạn sẽ nhận được thư mục ESPAsyncWebServer-master 3. Đổi tên thư mục của bạn từ ESPAsyncWebServer-master thành ESPAsyncWebServer 4. Di chuyển thư mục ESPAsyncWebServer vào thư mục thư viện cài đặt Arduino IDE của bạn Ngoài ra, trong Arduino IDE, bạn có thể vào Sketch > Include Library > Add .ZIP library... và chọn thư viện bạn vừa tải xuống. Cài đặt thư viện ESPAsyncTCP cho ESP8266 Thư viện ESPAsyncWebServer yêu cầu thư viện ESPAsyncTCP hoạt động. Làm theo các bước tiếp theo để cài đặt thư viện đó: 1. Bấm vào đây để tải xuống thư viện ESPAsyncTCP. Bạn sẽ có một thư mục .zip trong thư mục Tải xuống của mình 2. Giải nén thư mục .zip và bạn sẽ nhận được thư mục ESPAsyncTCP-master 3. Đổi tên thư mục của bạn từ ESPAsyncTCP-master thành ESPAsyncTCP 4. Di chuyển thư mục ESPAsyncTCP vào thư mục thư viện cài đặt Arduino IDE của bạn 5. Cuối cùng, mở lại Arduino IDE của bạn Ngoài ra, trong Arduino IDE, bạn có thể vào Sketch > Include Library > Add .ZIP library... và chọn thư viện bạn vừa tải xuống. Sau khi cài đặt các thư viện cần thiết, hãy sao chép mã sau vào Arduino IDE của bạn.
9/16
/*********
Rui Santos
Complete project details at /> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*********/
// Import required libraries
#include "ESP8266WiFi.h"
#include "ESPAsyncWebServer.h"
// Set to true to define Relay as Normally Open (NO)
Sửa đổi biến sau để cho biết bạn đang sử dụng rơle của mình trong cấu hình thường mở (NO) hay thường đóng (NC). Đặt biến RELAY_NO thành true cho hệ điều hành thường mở được đặt thành false cho thường đóng. #define RELAY_NO true
Xác định số lượng rơle (kênh) Bạn có thể xác định số lượng rơle bạn muốn kiểm soát trên biến NUM_RELAYS. Đối với mục đích trình diễn, chúng tơi đặt nó thành 5. #define NUM_RELAYS 5
Xác định gán pin rơle Trong biến mảng sau, bạn có thể xác định các GPIO ESP8266 sẽ điều khiển các rơle. int relayGPIOs[NUM_RELAYS] = {5, 4, 14, 12, 13};
Số lượng rơle được đặt trên biến NUM_RELAYS cần phải khớp với số lượng GPIO được gán trong mảng relayGPIOs.
Thông tin đăng nhập mạng Chèn thông tin đăng nhập mạng của bạn vào các biến sau. const char* ssid = "REPLACE_WITH_YOUR_SSID";
Nối dây 8 kênh Relay đến ESP8266 NodeMCU Đối với mục đích trình diễn, chúng tơi đang kiểm sốt 5 kênh chuyển tiếp. Nối bảng mạch ESP8266 NodeMCU với mô-đun chuyển tiếp như thể hiện trong sơ đồ tiếp theo.
13/16
Cuộc biểu tình Sau khi thực hiện các thay đổi cần thiết, hãy tải mã lên ESP8266 của bạn. Mở Màn hình nối tiếp với tốc độ truyền 115200 và nhấn nút ESP8266 RST để lấy địa chỉ IP của nó. Sau đó, mở một trình duyệt trong mạng cục bộ của bạn và nhập địa chỉ IP ESP8266 để có quyền truy cập vào máy chủ web. Bạn sẽ nhận được một cái gì đó như sau với nhiều nút như số lượng rơle bạn đã xác định trong mã của mình.
14/16
Giờ đây, bạn có thể sử dụng các nút để điều khiển rơle từ xa bằng điện thoại thông minh của mình.
Bao vây cho an tồn Đối với dự án cuối cùng, hãy đảm bảo bạn đặt mô-đun rơle và ESP bên trong vỏ bọc để tránh bất kỳ chân AC nào bị lộ.
Tổng kết
15/16
Sử dụng rơle với ESP8266 là một cách tuyệt vời để điều khiển các thiết bị gia dụng AC từ xa. Bạn cũng có thể đọc Hướng dẫn khác của chúng tôi để điều khiển Mô-đun rơle bằng ESP32. Điều khiển rơle bằng ESP8266 dễ dàng điều khiển bất kỳ đầu ra nào khác, bạn chỉ cần gửi tín hiệu CAO và THẤP như bạn làm để điều khiển đèn LED.
Bạn có thể sử dụng các ví dụ máy chủ web khác của chúng tơi để kiểm sốt đầu ra để điều khiển rơle. Bạn chỉ cần chú ý đến cấu hình bạn đang sử dụng. Trong trường hợp bạn đang sử dụng cấu hình mở bình thường, rơle hoạt động với logic đảo ngược. Bạn có thể sử dụng các ví dụ máy chủ web sau để điều khiển chuyển tiếp của mình: Máy chủ Web ESP8266 - Arduino IDE Máy chủ Web ESP8266 sử dụng SPIFFS (đầu ra điều khiển) ESP32 / ESP8266 Máy chủ web MicroPython - Kiểm sốt đầu ra Tìm hiểu thêm về ESP8266 với các tài ngun của chúng tơi: Tự động hóa gia đình sử dụng ESP8266 Lập trình MicroPython với ESP32 và ESP8266 Thêm tài nguyên ESP8266... Cảm ơn bạn đã đọc.