Arduino UNO R4 Cảm Biến Nước
Hướng dẫn này sẽ dạy chúng ta cách sử dụng cảm biến nước với Arduino UNO R4. Cảm biến nước có thể phát hiện rò rỉ nước, đo lượng mưa, kiểm tra tràn bể chứa, hoặc kiểm tra mức nước. Cụ thể, chúng ta sẽ học:
- Cách kết nối cảm biến nước với Arduino UNO R4
- Cách lập trình Arduino UNO R4 để đọc giá trị từ cảm biến nước
- Cách phát hiện rò rỉ nước, lượng mưa, tràn bể chứa bằng Arduino UNO R4
- Cách đo mức nước bằng Arduino UNO R4
- Cách hiệu chuẩn cảm biến nước bằng Arduino UNO R4

Linh Kiện Cần Thiết
| 1 | × | Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima | ||
| 1 | × | (Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi | ||
| 1 | × | Arduino UNO R4 Minima (Thay thế) | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Cảm biến mức nước | ||
| 1 | × | Dây nối Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Power Splitter for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Cảm Biến Mức Nước
Sơ Đồ Chân Cảm Biến Mức Nước
Cảm biến mức nước có ba chân:
- Chân S (Signal): Đây là đầu ra analog. Kết nối nó với một đầu vào analog trên Arduino UNO R4 của bạn.
- Chân + (VCC): Chân này cấp nguồn cho cảm biến. Sử dụng 3.3V đến 5V để cấp nguồn.
- Chân - (GND): Đây là kết nối ground (mass).

※ Lưu ý:
Đầu ra từ chân tín hiệu của cảm biến thay đổi dựa trên điện áp cấp cho chân VCC của nó.
Cách Hoạt Động Của Cảm Biến Mức Nước
Khi cảm biến ở trong nhiều nước hơn, điện áp đầu ra trên chân tín hiệu tăng lên.
Hãy cùng xem xét kỹ hơn.
Cảm biến bao gồm mười đường copper mà bạn có thể thấy. Nó có năm đường nguồn và năm đường cảm biến. Những đường này được sắp xếp cạnh nhau, luân phiên một đường cảm biến giữa hai đường nguồn. Thông thường, những đường này không chạm vào nhau, nhưng nếu cảm biến được đặt trong nước, nước sẽ kết nối các đường lại.
Các vạch hoạt động như một điện trở biến đổi (tương tự như potentiometer) thay đổi điện trở dựa trên mức nước.
- Sự thay đổi điện trở cho biết khoảng cách từ đầu trên của cảm biến đến bề mặt nước.
- Điện trở giảm khi mức nước tăng lên.
- Khi cảm biến ngập nhiều hơn trong nước, nó dẫn điện tốt hơn, làm cho điện trở thấp hơn.
- Khi cảm biến ngập ít hơn trong nước, nó dẫn điện kém hơn, làm cho điện trở cao hơn.
- Cảm biến cung cấp điện áp đầu ra dựa trên điện trở.
Chúng ta có thể tìm ra mức nước bằng cách đo điện áp.
Sơ Đồ Đấu Nối
Để cung cấp nguồn cho cảm biến, kết nối chân VCC của cảm biến với chân 5V của Arduino UNO R4 và chân GND với chân GND của Arduino.
Tuy nhiên, không nên luôn cấp nguồn cho cảm biến trong môi trường ẩm ướt vì điều này có thể làm cho cảm biến bị ăn mòn nhanh chóng, giảm tuổi thọ. Để tránh điều này, chúng tôi đề xuất chỉ cấp nguồn cho cảm biến khi bạn cần đọc dữ liệu. Bạn có thể làm điều này bằng cách kết nối chân VCC của cảm biến với một chân digital trên Arduino UNO R4. Đặt chân của Arduino thành HIGH để đọc cảm biến, và sau đó đặt thành LOW khi hoàn tất.

This image is created using Fritzing. Click to enlarge image
Code Arduino UNO R4 - Đọc Giá Trị Từ Cảm Biến Nước
Các Bước Nhanh
Thực hiện theo hướng dẫn từng bước sau:
- Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
- Kết nối cảm biến nước với Arduino Uno R4 theo sơ đồ được cung cấp.
- Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
- Khởi chạy Arduino IDE trên máy tính của bạn.
- Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
- Sao chép code được cung cấp và mở trong Arduino IDE.
- Nhấn nút Upload trong Arduino IDE để gửi code lên Arduino UNO R4.
- Từ từ hạ cảm biến xuống nước (sử dụng một cốc nước).
- Kiểm tra kết quả trên Serial Monitor. Nó hiển thị giá trị 0 khi cảm biến không tiếp xúc với bất cứ thứ gì.
※ Lưu ý:
Cảm biến không nên được ngâm hoàn toàn trong nước; chỉ những phần lộ ra trên bo mạch mới được chạm vào nước. Vui lòng lắp đặt cẩn thận.
Cách Phát Hiện Rò Rỉ Nước
Để tìm ra xem có rò rỉ nước, mưa, hoặc tràn bể chứa hay không, chúng ta chỉ cần so sánh số đọc với một ngưỡng đã đặt. Chúng ta đặt ngưỡng này trong bước hiệu chuẩn của hướng dẫn này.
Code Arduino UNO R4 - Phát Hiện Rò Rỉ Nước
Cách Đo Mức Nước
Để chia mức nước cao nhất thành các giai đoạn khác nhau và kiểm tra giai đoạn hiện tại, hãy sử dụng kỹ thuật trong code sau. Nhớ rằng, mức nước cao nhất tương ứng với chiều cao của cảm biến. Code này chia chiều cao tối đa thành 4 giai đoạn.
※ Lưu ý:
- SENSOR_MIN và SENSOR_MAX được đặt trong quá trình hiệu chuẩn.
- Phương pháp ánh xạ ở trên có thể không chính xác hoàn toàn, nhưng nó hoạt động tốt cho nhiều ứng dụng. Để cải thiện độ chính xác, hãy đo các giá trị ngưỡng cho từng mức như được giải thích trong phần hiệu chuẩn.
Hiệu Chuẩn Cảm Biến Mức Nước
Đầu ra của cảm biến bị ảnh hưởng bởi mức nước và khả năng dẫn điện của nước. Nước tinh khiết không dẫn điện. Tuy nhiên, nước có chứa khoáng chất và tạp chất thì có dẫn điện. Khả năng dẫn điện của nước càng lớn thì cảm biến càng nhạy. Ngoài ra, giá trị đầu ra thay đổi với các điện áp khác nhau được áp dụng cho chân VCC của cảm biến.
Để có được kết quả đọc chính xác từ cảm biến nước, chúng tôi đề xuất hiệu chuẩn nó cho loại nước cụ thể mà bạn sẽ theo dõi.
Trước khi bạn đặt ngưỡng cho một hành động, trước tiên hãy đo giá trị thực từ cảm biến bằng cách thực hiện kiểm tra.
Cách thực hiện kiểm tra:
- Sử dụng sơ đồ được cung cấp để đọc giá trị của cảm biến.
- Đặt cảm biến trong nước đến mức mong muốn của bạn.
- Ghi lại giá trị hiển thị trong Serial Monitor.
- Đặt giá trị này làm ngưỡng để kích hoạt một hành động.
Kiểm tra này có thể cần một số lần thử để có kết quả đúng.
Kiểm tra này cũng có thể giúp khám phá:
- Giá trị cảm biến tối thiểu khi nó ra khỏi nước.
- Giá trị cảm biến tối đa khi nó hoàn toàn trong nước.
- Giá trị ngưỡng để phát hiện rò rỉ nước.
- Giá trị ngưỡng cho từng mức trên thang đo của bạn.
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.