ESP8266 Cảm biến rò rỉ nước

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng ESP8266 và cảm biến rò nước để phát hiện rò nước.

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

1×ESP8266 NodeMCU ESP-12E
1×Recommended: ESP8266 NodeMCU ESP-12E (Uno-form)
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×Water Leak Detector
1×breadboard
1×dây jumper
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP8266
1×(Khuyến nghị) Power Splitter for ESP8266 Type-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Thiết bị Phát hiện Rò Rỉ Nước

Thiết bị phát hiện rò rỉ nước, còn được gọi là cảm biến rò rỉ nước, giúp chúng ta phát hiện nước không mong muốn sớm để ngăn ngừa hư hỏng.

Bố trí chân của cảm biến dò rò nước

Máy dò rò nước gồm hai dây:

bố trí chân cảm biến rò nước

Chúng ta không cần phân biệt giữa hai dây của cảm biến rò rỉ nước, giống như chúng ta không cần phân biệt giữa một công tắc và một nút nhấn.

Cách hoạt động của bộ phát hiện rò rỉ nước

Khi nước có mặt, mạch trở nên hoàn chỉnh. Khi không có nước, mạch vẫn chưa hoàn chỉnh.

Để kết nối cảm biến dò rò nước với ESP8266, hãy gắn một dây vào GND và dây kia vào một chân đầu vào số trên ESP8266 được thiết lập ở chế độ pull-up. Khi có nước, chân này sẽ đọc được LOW. Khi không có nước, nó sẽ đọc được HIGH.

※ Lưu ý:

Máy dò rò rỉ nước không thể nhận biết nước nguyên chất vì nó là 'không dẫn điện'. Để khắc phục điều này, rắc một ít muối gần cảm biến. Điều này sẽ hòa trộn với nước và cho phép máy dò nhận biết nước.

Sơ đồ nối dây giữa Cảm biến rò rỉ nước và ESP8266

sơ đồ đấu nối máy dò rò nước ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Xem thêm Sơ đồ chân ESP8266Cách cấp nguồn cho ESP8266.

Cách lập trình ESP8266 để đọc giá trị từ cảm biến dò rỉ nước

  • Cấu hình chân ESP8266 thành đầu vào kỹ thuật số bằng hàm pinMode(). Ví dụ, hãy sử dụng hàm này cho chân D7.
pinMode(D7, INPUT_PULLUP);
  • Kiểm tra trạng thái của chân ESP8266 bằng hàm digitalRead().
int water_state = digitalRead(D7);

Mã ESP8266 - Phát hiện rò rỉ nước

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU 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/esp8266/esp8266-water-leak-detector */ #define WATER_SENSOR_PIN D7 // ESP8266 pin D7 connected to water sensor's pin int water_state; // current state of water sensor int prev_water_state; // previous state of water sensor void setup() { Serial.begin(9600); pinMode(WATER_SENSOR_PIN, INPUT_PULLUP); // set ESP8266 pin to input pull-up mode water_state = digitalRead(WATER_SENSOR_PIN); // read state } void loop() { prev_water_state = water_state; // save the last state water_state = digitalRead(WATER_SENSOR_PIN); // read new state if (prev_water_state == HIGH && water_state == LOW) { Serial.println("Water leakage is detected!"); } }

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

Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:

  • Xem ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
  • Nối các linh kiện như trong sơ đồ.
  • Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
  • Mở Arduino IDE trên máy tính của bạn.
  • Chọn board ESP8266 phù hợp, ví dụ NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
  • Sao chép mã ở phía trên và dán vào Arduino IDE.
  • Để tải mã lên board ESP8266 của bạn, nhấp nút Tải lên trong Arduino IDE.
  • Rót nước gần bộ dò rò rỉ nước.
  • Xem kết quả trên Serial Monitor. Chúng sẽ hiển thị như thế này:
COM6
Send
The water leak is detected The water leak is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Tài liệu tham khảo về ngôn ngữ