Hướng dẫn cơ bản dùng esp32 để điều khiển Relay 4 kênh
ESP32 là vi điều khiển mạnh mẽ với khả năng kết nối Wi-Fi và Bluetooth, phù hợp cho các ứng dụng IoT. Trong hướng dẫn này, chúng ta sẽ sử dụng ESP32 Devkit V1 để điều khiển mạch relay 5V 4 kênh, giúp bật/tắt các thiết bị như đèn, quạt, bơm nước, và nhiều thiết bị điện khác.
Hướng dẫn điều khiển mạch relay 5V 4 kênh bằng ESP32 Devkit V1
1. Giới thiệu
ESP32 là vi điều khiển mạnh mẽ với khả năng kết nối Wi-Fi và Bluetooth, phù hợp cho các ứng dụng IoT. Trong hướng dẫn này, chúng ta sẽ sử dụng ESP32 Devkit V1 để điều khiển mạch relay 5V 4 kênh, giúp bật/tắt các thiết bị như đèn, quạt, bơm nước, và nhiều thiết bị điện khác.
2. Chuẩn bị
- 1 x ESP32 Devkit V1
- 1 x Module relay 5V 4 kênh
- Dây nối jumper
- Nguồn 5V cho relay (có thể dùng nguồn từ ESP32 nếu dòng điện đủ)
- Phần mềm Arduino IDE (đã cài thư viện ESP32)
3. Sơ đồ đấu nối
Dưới đây là sơ đồ đấu nối giữa ESP32 và mạch relay:
- ESP32 - Module Relay
- Dây GND của ESP32 nối với GND của relay
- Dây 5V của ESP32 nối với VCC của relay (nếu ESP32 cung cấp đủ dòng cho relay)
- GPIO 15 (hoặc một GPIO bất kỳ) nối với IN1 của relay (kênh 1)
- GPIO 2 nối với IN2 của relay (kênh 2)
- GPIO 4 nối với IN3 của relay (kênh 3)
- GPIO 5 nối với IN4 của relay (kênh 4)
Lưu ý: Nếu ESP32 không cung cấp đủ dòng để cấp nguồn cho relay, hãy sử dụng nguồn 5V riêng cho module relay và nối các chân GND chung lại.
4. Lập trình trên Arduino IDE
Mở Arduino IDE và chọn ESP32 Dev Module trong phần Board. Copy đoạn mã sau vào Arduino IDE:
#define RELAY1 15 #define RELAY2 2 #define RELAY3 4 #define RELAY4 5
void setup() { pinMode(RELAY1, OUTPUT); pinMode(RELAY2, OUTPUT); pinMode(RELAY3, OUTPUT); pinMode(RELAY4, OUTPUT);
// Tắt tất cả relay ban đầu digitalWrite(RELAY1, HIGH); digitalWrite(RELAY2, HIGH); digitalWrite(RELAY3, HIGH); digitalWrite(RELAY4, HIGH); }
void loop() { // Bật từng relay một, mỗi relay sáng trong 1 giây digitalWrite(RELAY1, LOW); delay(1000); digitalWrite(RELAY1, HIGH);
digitalWrite(RELAY2, LOW); delay(1000); digitalWrite(RELAY2, HIGH);
digitalWrite(RELAY3, LOW); delay(1000); digitalWrite(RELAY3, HIGH);
digitalWrite(RELAY4, LOW); delay(1000); digitalWrite(RELAY4, HIGH); } |
5. Giải thích mã lệnh
- Define RELAY1, RELAY2, RELAY3, RELAY4: Định nghĩa các chân GPIO của ESP32 kết nối với các kênh của relay.
- Setup: Thiết lập các chân relay là OUTPUT và tắt tất cả các relay ban đầu bằng cách đặt mức HIGH.
- Loop: Trong vòng lặp chính, từng relay được bật lên (mức LOW) trong 1 giây rồi tắt (mức HIGH), giúp kiểm tra từng kênh của relay.
6. Tải mã và kiểm tra
- Kết nối ESP32 với máy tính và chọn đúng Cổng COM.
- Bấm Upload để tải mã lệnh vào ESP32.
- Khi tải xong, ESP32 sẽ điều khiển từng kênh của relay, bật và tắt với thời gian delay đã định trước.
7. Ứng dụng thực tế
Hướng dẫn này có thể áp dụng để điều khiển các thiết bị điện gia dụng từ xa bằng ESP32, kết hợp với các dịch vụ IoT hoặc ứng dụng điều khiển từ xa qua Wi-Fi hoặc Bluetooth.
Xem thêm