Raspberry Pi Cảm Biến Nước
Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi với cảm biến nước. Cụ thể, chúng ta sẽ học:
- Cách kết nối Raspberry Pi với cảm biến nước.
- Cách lập trình Raspberry Pi để đọc trạng thái từ cảm biến nước.
- Cách sử dụng Raspberry Pi để phát hiện rò rỉ nước, mưa, tràn bể và đo mức nước.
- Cách hiệu chuẩn cảm biến nước.
Linh Kiện Cần Thiết
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | Module ADC ADS1115 | ||
| 1 | × | Cảm biến mức nước | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi | ||
| 1 | × | (Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit | ||
| 1 | × | (Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi |
Or you can buy the following kits:
| 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ó 3 chân:
- Chân S (Signal): Đây là ngõ ra analog cần được kết nối với một trong các ngõ vào analog trên Raspberry Pi của bạn.
- Chân + (VCC): Cấp nguồn cho cảm biến và được khuyến nghị sử dụng trong khoảng 3.3V – 5V.
- Chân - (GND): Đây là kết nối mass.

※ Lưu ý:
Chân tín hiệu của cảm biến tạo ra ngõ ra analog phụ thuộc vào điện áp cung cấp cho chân VCC.
Nguyên Lý Hoạt Động Của Cảm Biến Mức Nước
Tóm lại, điện áp ngõ ra trên chân tín hiệu tăng khi lượng nước mà cảm biến được nhúng vào tăng.
Hãy xem xét kỹ hơn.
Cảm biến có mười đường đồng lộ thiên, với năm đường là đường cấp nguồn và năm đường còn lại là đường cảm biến. Những đường này được sắp xếp song song, với một đường cảm biến nằm giữa hai đường cấp nguồn. Trừ khi chúng được nối thông qua nước khi bị nhúng, những đường này vẫn không được kết nối.
Các đường hoạt động như một điện trở biến đổi, tương tự như chiết áp, có điện trở phụ thuộc vào mức nước:
- Điện trở được xác định bởi khoảng cách từ đỉnh cảm biến đến bề mặt nước.
- Điện trở tỷ lệ nghịch với lượng nước hiện có:
- Khi nhiều nước hơn được nhúng vào cảm biến, độ dẫn điện tăng và điện trở giảm.
- Khi ít nước hơn được nhúng vào cảm biến, độ dẫn điện giảm và điện trở tăng.
- Điện áp ngõ ra của cảm biến dựa trên điện trở.
Việc xác định mức nước có thể được thực hiện bằng cách đo điện áp.
Sơ Đồ Kết Nối

This image is created using Fritzing. Click to enlarge image
Code Raspberry Pi - Đọc Giá Trị Từ Cảm Biến Nước
Các Bước Thực Hiện
- Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích nào khác với Raspberry Pi trên Pi của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục bộ với PC của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt một số thư viện.
- Nếu đây là lần đầu tiên bạn sử dụng Raspberry Pi, xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC của bạn với Raspberry Pi qua SSH bằng SSH client tích hợp sẵn trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC với Raspberry Pi qua SSH.
- Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, hãy cài đặt bằng lệnh sau:
- Cài đặt thư viện Adafruit_ADS1x15 bằng cách chạy các lệnh sau trên terminal Raspberry Pi của bạn:
- Tạo file script Python water_sensor.py và thêm code sau:
- Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- Nhẹ nhàng hạ cảm biến vào cốc nước.
- Kiểm tra kết quả trên Terminal; nó sẽ là 0 khi cảm biến không tiếp xúc với bất cứ thứ gì.
Script chạy trong vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.
※ Lưu ý:
Cảm biến không được thiết kế để nhúng hoàn toàn; chỉ các đường đồng lộ thiên trên bo mạch in mới được tiếp xúc với nước. Hãy thận trọng khi lắp đặt nó.
Cách Phát Hiện Rò Rỉ Nước
Để phát hiện rò rỉ nước, mưa và tràn bể, chúng ta chỉ cần so sánh giá trị đọc được với giá trị ngưỡng được xác định trong phần hiệu chuẩn của hướng dẫn này.
Hãy xem xét một ví dụ cụ thể. Nếu phát hiện nước, Raspberry Pi sẽ kích hoạt LED. Để biết cách kết nối, xem Raspberry Pi - LED
Code Raspberry Pi - Phát Hiện Rò Rỉ Nước
Các Bước Thực Hiện
- Tạo file script Python water_sensor_led.py và thêm code sau:
- Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- Nhẹ nhàng hạ cảm biến vào cốc nước.
- Kiểm tra trạng thái LED trên kết quả
Hiệu Chuẩn Cảm Biến Mức Nước
Ngõ ra của cảm biến không chỉ bị ảnh hưởng bởi mức nước mà còn bởi độ dẫn điện của nước. Nước tinh khiết không dẫn điện, trong khi nước có khoáng chất và tạp chất thì có. Độ dẫn điện của nước càng cao thì cảm biến càng nhạy. Ngoài ra, giá trị ngõ ra cũng phụ thuộc vào điện áp cung cấp cho chân VCC của cảm biến.
Để đảm bảo độ chính xác khi đọc cảm biến nước, chúng tôi đề xuất hiệu chuẩn cảm biến cho loại nước cụ thể cần được giám sát.
Hướng dẫn hiệu chuẩn:
- Sử dụng script được cung cấp ở trên để đọc giá trị cảm biến.
- Nhúng cảm biến vào nước ở mức độ mong muốn để đặt ngưỡng.
- Ghi lại giá trị mà cảm biến hiển thị trong Terminal.
- Sử dụng giá trị này làm ngưỡng để kích hoạt một hành động.
Thử nghiệm cũng có thể được sử dụng để khám phá:
- Giá trị MIN_ADC_VALUE, khi cảm biến không được nhúng trong chất lỏng
- Giá trị MAX_ADC_VALUE, khi cảm biến được nhúng hoàn toàn trong chất lỏng
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.
Thử Thách Bản Thân
- Khi phát hiện rò rỉ nước:
- Gửi email
- Gửi tin nhắn SMS
- Kích hoạt chuông báo động