Raspberry Pi Cảm biến độ ẩm đất
Hướng dẫn này sẽ chỉ bạn cách sử dụng cảm biến độ ẩm với Raspberry Pi. Cụ thể, chúng ta sẽ tìm hiểu:
- Sự khác biệt giữa cảm biến độ ẩm điện trở và điện dung
- Cách lập trình Raspberry Pi để đọc giá trị của cảm biến độ ẩm
- Cách sử dụng Raspberry Pi để hiệu chuẩn cảm biến độ ẩm
- Cách Raspberry Pi xác định đất ướt hay khô
Phần cứng cần chuẩn bị
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | Capacitive Soil Moisture Sensor | ||
| 1 | × | mô-đun ADC ADS1115 | ||
| 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 đất

Có hai loại cảm biến độ ẩm: cảm biến độ ẩm điện trở và cảm biến độ ẩm điện dung.
Cả hai loại cảm biến đều cung cấp thông tin về độ ẩm đất. Tuy nhiên, phương thức hoạt động của chúng không giống nhau. Chúng tôi đặc biệt khuyến nghị sử dụng cảm biến độ ẩm điện dung vì những lý do sau:
- Cảm biến độ ẩm đất điện trở dễ bị ăn mòn theo thời gian. Điều này là do dòng điện chạy giữa các đầu dò, dẫn đến ăn mòn điện hóa.
- Cảm biến độ ẩm đất điện dung bị ăn mòn theo thời gian chậm hơn nhiều so với cảm biến độ ẩm đất điện trở. Điều này là do các điện cực không bị lộ ra ngoài và tương đối kháng ăn mòn.
Đây là hình ảnh của một cảm biến độ ẩm đất điện trở đã bị hỏng do ăn mòn.

Phần còn lại của hướng dẫn này sẽ sử dụng cảm biến độ ẩm đất điện dung.
Sơ đồ chân của Cảm biến độ ẩm đất điện dung
Cảm biến độ ẩm đất điện dung có ba chân:
- Chân GND: Chân này nên được kết nối với GND (0V)
- Chân VCC: Chân này nên được kết nối với VCC (5V hoặc 3.3v)
- Chân AOUT: Đây là chân đầu ra tín hiệu analog tạo ra điện áp tỷ lệ với mức độ ẩm của đất. Chân này nên được kết nối với chân đầu vào analog của Raspberry Pi.

Nguyên lý hoạt động
Lượng nước trong đất có ảnh hưởng đến điện áp ở chân AOUT; càng nhiều nước thì điện áp càng thấp.
Sơ đồ đấu nối

This image is created using Fritzing. Click to enlarge image
Code Raspberry Pi đọc giá trị từ cảm biến độ ẩm đất
Các bước nhanh
- Đả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 cho Raspberry Pi.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng một mạng cục bộ với PC.
- Đảm bảo Raspberry Pi đượ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, hãy xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC với Raspberry Pi qua SSH bằng SSH client tích hợp 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, 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:
- Tạo file Python script soil_moisture.py và thêm code sau:
- Lưu file và chạy Python script bằng cách thực hiện lệnh sau trong terminal:
- Chôn cảm biến trong đất, sau đó đổ nước vào đất. Hoặc từ từ nhúng nó vào cốc nước muối.
- Kiểm tra kết quả trên Terminal.
※ Lưu ý:
- KHÔNG sử dụng nước tinh khiết để thử nghiệm vì nó không dẫn điện, có nghĩa là nó sẽ không ảnh hưởng đến kết quả đọc của cảm biến.
- Giá trị đọc từ cảm biến thường không giảm về zero. Bình thường chúng sẽ nằm trong khoảng 40000 đến 50000, nhưng điều này có thể thay đổi dựa trên các yếu tố như độ sâu đặt cảm biến, loại đất hoặc nước, và điện áp nguồn cung cấp.
- Không bao giờ chôn phần mạch điện (ở phía trên cảm biến) trong đất hoặc nước, vì điều này có thể làm hỏng cảm biến.
Script chạy trong vòng lặp vô tận liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.
Hiệu chuẩn cho Cảm biến độ ẩm đất điện dung
Giá trị thu được từ cảm biến độ ẩm không phải là giá trị tuyệt đối. Nó thay đổi tùy thuộc vào thành phần và hàm lượng nước của đất. Do đó, cần thiết phải thực hiện hiệu chuẩn để xác định ranh giới giữa điều kiện ướt và khô.
Hướng dẫn hiệu chuẩn cho Cảm biến độ ẩm đất điện dung:
- Chạy code trên Raspberry Pi
- Đặt cảm biến độ ẩm vào đất
- Từ từ thêm nước vào đất
- Theo dõi các giá trị trên Terminal
- Ghi nhận giá trị khi bạn cảm thấy đất chuyển từ khô sang ướt, ví dụ: 45000. Đây được gọi là THRESHOLD.
Xác định đất ướt hay khô
- Tạo file Python script soil_moisture_dry_wet.py và thêm code sau:
- Cập nhật giá trị THRESHOLD đã ghi nhận trong quá trình hiệu chuẩn vào code.
- Lưu file và chạy Python script bằng cách thực hiện lệnh sau trong Terminal:
Kết quả hiển thị trên Terminal.
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.