ESP32 Cảm Biến Nước Máy Bơm
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng ESP32 để kích hoạt máy bơm thoát nước khi phát hiện có nước bằng cảm biến nước. Nói cách khác, chúng ta sẽ khám phá cách tạo ra một hệ thống thoát nước tự động sử dụng ESP32, cảm biến nước và máy bơm.
Linh Kiện Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Cảm biến mực nước | ||
| 1 | × | Relay | ||
| 1 | × | Máy bơm 12V | ||
| 1 | × | Ống nhựa | ||
| 1 | × | Adapter nguồn 12V | ||
| 1 | × | (Tùy chọn) Jack cắm nguồn DC | ||
| 1 | × | breadboard | ||
| 1 | × | Dây nối | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Cảm Biến Nước và Máy Bơm
Nếu bạn chưa biết về cảm biến nước và máy bơm (sơ đồ chân, cách hoạt động, cách lập trình...), hãy tìm hiểu trong các hướng dẫn sau:
- Hướng dẫn ESP32 - Water Sensor (Cảm Biến Nước)
- Hướng dẫn ESP32 - Điều Khiển Máy Bơm
Cách Hoạt Động của Hệ Thống Thoát Nước Tự Động
ESP32 sẽ định kỳ đọc giá trị từ cảm biến nước, sau đó:
- Nếu giá trị lớn hơn ngưỡng đã định trước, ESP32 sẽ bật relay để kích hoạt máy bơm.
- Ngược lại, ESP32 sẽ tắt máy bơm.
Sơ Đồ Đấu Nối

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
Code ESP32
Các Bước Thực Hiện
- Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Thực hiện đấu nối theo sơ đồ trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Sao chép code ở trên và mở bằng Arduino IDE
- Nhấn nút Upload trên Arduino IDE để tải code lên ESP32

- Đặt cảm biến nước vào trong nước
- Quan sát trạng thái của máy bơm
Giải Thích Code
Đọc phần giải thích từng dòng trong các comment của source code nhé!
※ Lưu ý:
Hướng dẫn này sử dụng hàm analogRead() để đọc giá trị từ ADC (Analog-to-Digital Converter) kết nối với cảm biến nước. ADC của ESP32 phù hợp với các dự án KHÔNG cần độ chính xác cao. Tuy nhiên, đối với những dự án cần đo lường chính xác, hãy lưu ý:
- ADC của ESP32 không hoàn toàn chính xác và có thể cần hiệu chuẩn để có kết quả đúng. Mỗi board ESP32 có thể khác nhau một chút, vì vậy bạn cần hiệu chuẩn ADC cho từng board riêng biệt.
- Việc hiệu chuẩn có thể khó khăn, đặc biệt là với người mới bắt đầu, và có thể không luôn cho kết quả chính xác như bạn mong muốn.
Đối với những dự án cần độ chính xác cao, hãy cân nhắc sử dụng ADC bên ngoài (ví dụ ADS1115) với ESP32 hoặc sử dụng Arduino, có ADC đáng tin cậy hơn. Nếu bạn vẫn muốn hiệu chuẩn ADC của ESP32, hãy tham khảo ESP32 ADC Calibration Driver
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.