Tất cả dự án mẫu
Trung cấpESP32 DevKitC V4Relay220 VSerial

Nhà thông minh với relay 4 kênh

ESP32 đóng cắt đèn và quạt 220 V qua module relay 4 kênh. Gõ số 1 đến 4 vào Serial Monitor để bật tắt từng kênh.

Linh kiện

  • ESP32 DevKitC V4
  • Module relay 4 kênh
  • Nguồn điện lưới 220VAC
  • Bóng đèn 220VAC
  • Quạt điện 220VAC

Thư viện

Không cần thư viện ngoài.

Thử ngay khi mô phỏng chạy

  • Gõ 1 rồi Enter trong Serial Monitor: đèn sáng và nghe tiếng relay.
  • Gõ 0 để tắt tất cả.
  • Nối thêm thiết bị vào kênh 3 và 4.

main.cpp

// Module relay 4 kênh kích mức LOW: IN1…IN4 trên GPIO23, 22, 21, 19// Gõ 1…4 trong Serial Monitor để đảo từng kênh, 0 để tắt tất cả.const int RELAY_PINS[4] = {23, 22, 21, 19};bool relayOn[4] = {false, false, false, false}; void apply(int channel) {  // Module kích mức LOW: LOW = đóng relay, HIGH = nhả.  digitalWrite(RELAY_PINS[channel], relayOn[channel] ? LOW : HIGH);  Serial.printf("Relay %d: %s\n", channel + 1, relayOn[channel] ? "ON" : "OFF");} void setup() {  Serial.begin(115200);  for (int i = 0; i < 4; i++) {    pinMode(RELAY_PINS[i], OUTPUT);    digitalWrite(RELAY_PINS[i], HIGH);  // HIGH = relay nhả (module kích mức LOW)  }  Serial.println("San sang: go 1-4 de bat/tat, 0 de tat het");} void loop() {  if (!Serial.available()) return;  char c = Serial.read();  if (c >= '1' && c <= '4') {    int channel = c - '1';    relayOn[channel] = !relayOn[channel];    apply(channel);  } else if (c == '0') {    for (int i = 0; i < 4; i++) {      relayOn[i] = false;      apply(i);    }  }}