Hệ Thống Tưới Cây Thông Minh
Trung cấp15/5/2024

Hệ Thống Tưới Cây Thông Minh

Tự động hóa việc tưới cây dựa trên dữ liệu độ ẩm đất thực tế, lịch cài đặt và tích hợp API thời tiết để bỏ qua tưới khi sắp có mưa.

AgricultureIrrigationESP32Weather API
623 lượt thích191 người đã làm3 giờ6 bước5 linh kiện
← Quay lại dự án
Hướng dẫn chi tiết

Phần 2: Cảm biến độ ẩm đất

1. Giới thiệu về cảm biến độ ẩm đất, 2. Sơ đồ kết nối cảm biến với ESP32, 3. Lập trình để đọc dữ liệu từ cảm biến, 4. Xử lý và hiển thị dữ liệu độ ẩm, 5. Thử nghiệm và hiệu chỉnh cảm biến.

Cập nhật 01/06/2026

Phần 2: Cảm biến độ ẩm đất

1. Giới thiệu về cảm biến độ ẩm đất

Cảm biến độ ẩm đất là thiết bị dùng để đo lượng nước có trong đất. Thiết bị này rất quan trọng trong các hệ thống tưới cây thông minh, giúp tự động hóa quá trình tưới cây dựa trên độ ẩm thực tế của đất. Cảm biến có thể giúp tiết kiệm nước và đảm bảo cây trồng luôn nhận đủ độ ẩm cần thiết.

Cảm biến độ ẩm đất thường hoạt động dựa trên nguyên lý điện trở, nơi điện trở của đất thay đổi tùy thuộc vào độ ẩm. Khi đất khô, điện trở cao; khi đất ẩm, điện trở thấp. Bằng cách đo điện trở này, chúng ta có thể xác định được độ ẩm của đất.

2. Sơ đồ kết nối cảm biến với ESP32

Để kết nối cảm biến độ ẩm đất với ESP32, chúng ta cần thực hiện các bước sau:

  1. Kết nối chân VCC của cảm biến với chân 3.3V trên ESP32.
  2. Kết nối chân GND của cảm biến với chân GND trên ESP32.
  3. Kết nối chân tín hiệu (SIG) của cảm biến với một chân analog trên ESP32, ví dụ chân GPIO34.

Dưới đây là sơ đồ kết nối:


  ESP32        Cảm biến độ ẩm đất
  -------------------------------
  3.3V  -------> VCC
  GND   -------> GND
  GPIO34 -------> SIG

3. Lập trình để đọc dữ liệu từ cảm biến

Để đọc dữ liệu từ cảm biến, chúng ta sẽ sử dụng ngôn ngữ lập trình Arduino. Đầu tiên, bạn cần cài đặt Arduino IDE và thêm thư viện cho ESP32. Sau đó, bạn có thể sử dụng mã nguồn dưới đây để đọc dữ liệu từ cảm biến:


#include <Arduino.h>

const int sensorPin = 34; // Chân kết nối với cảm biến độ ẩm
int sensorValue = 0; // Biến lưu trữ giá trị đọc được

void setup() {
    Serial.begin(115200); // Khởi động Serial Monitor
}

void loop() {
    sensorValue = analogRead(sensorPin); // Đọc dữ liệu từ cảm biến
    Serial.print("Giá trị độ ẩm đất: ");
    Serial.println(sensorValue); // Hiển thị giá trị trên Serial Monitor
    delay(1000); // Đợi 1 giây trước khi đọc lại
}

4. Xử lý và hiển thị dữ liệu độ ẩm

Giá trị đọc từ cảm biến sẽ nằm trong khoảng từ 0 đến 4095. Để chuyển đổi giá trị này thành phần trăm độ ẩm, chúng ta cần thực hiện một số phép tính đơn giản. Dưới đây là mã nguồn cập nhật để xử lý và hiển thị dữ liệu độ ẩm:


#include <Arduino.h>

const int sensorPin = 34; // Chân kết nối với cảm biến độ ẩm
int sensorValue = 0; // Biến lưu trữ giá trị đọc được
float moisturePercent = 0.0; // Biến lưu trữ độ ẩm tính bằng phần trăm

void setup() {
    Serial.begin(115200); // Khởi động Serial Monitor
}

void loop() {
    sensorValue = analogRead(sensorPin); // Đọc dữ liệu từ cảm biến
    moisturePercent = (sensorValue / 4095.0) * 100; // Chuyển đổi giá trị thành phần trăm
    Serial.print("Độ ẩm đất: ");
    Serial.print(moisturePercent);
    Serial.println("%");
    delay(1000); // Đợi 1 giây trước khi đọc lại
}

5. Thử nghiệm và hiệu chỉnh cảm biến

Sau khi lập trình xong, bạn cần thử nghiệm cảm biến để đảm bảo nó hoạt động đúng. Dưới đây là một số bước thử nghiệm và hiệu chỉnh:

  • Kiểm tra kết nối: Đảm bảo rằng các chân kết nối với ESP32 và cảm biến đều chắc chắn.
  • Chạy chương trình: Upload chương trình lên ESP32 và mở Serial Monitor để xem giá trị đọc được từ cảm biến.
  • Hiệu chỉnh: Nếu giá trị đọc được không chính xác, bạn có thể cần hiệu chỉnh cảm biến bằng cách thay đổi cách tính toán hoặc kiểm tra cảm biến xem có bị hư hỏng hay không.
Lưu ý: Để có kết quả chính xác, hãy thử nghiệm cảm biến trong các điều kiện độ ẩm khác nhau và ghi lại giá trị để có thể điều chỉnh mã nguồn cho phù hợp.

Với các bước trên, bạn đã hoàn thành phần cảm biến độ ẩm đất trong hệ thống tưới cây thông minh. Tiếp theo, bạn có thể tích hợp cảm biến này với các thành phần khác trong dự án để hoàn thiện hệ thống tưới cây tự động. Hãy tiếp tục theo dõi các phần tiếp theo để biết thêm thông tin về cách tích hợp API thời tiết và lập lịch tưới cây.