Search Code

Hướng dẫn ESP32 24/55 - Đo độ ẩm đất cho hệ thống tưới tiêu | Bộ học IoT ESP32 của SunFounder

Hướng dẫn ESP32 24/55 - Đo độ ẩm đất cho hệ thống tưới tiêu | Bộ học IoT ESP32 của SunFounder

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng SunFounder ESP32 cùng với cảm biến độ ẩm đất để đo độ ẩm trong đất, giúp tự động hóa hệ thống tưới tiêu. Bằng cách theo dõi độ ẩm, chúng ta có thể kích hoạt còi khi độ ẩm giảm xuống dưới một ngưỡng nhất định, cho biết cây cần được tưới nước. Dự án này có giá trị trong việc duy trì sức khỏe cây trồng và có thể mở rộng cho nhiều ứng dụng cảm biến môi trường khác nhau. (trong video tại 00:00)

mô-đun độ ẩm đất

Chúng ta sẽ sử dụng cảm biến độ ẩm đất điện dung, hoạt động bằng cách đo sự thay đổi điện dung giữa hai bản cực, thay đổi dựa trên độ ẩm của môi trường xung quanh. Cảm biến này sẽ cung cấp đầu ra analog phản ánh mức độ ẩm, cho phép chúng ta đưa ra quyết định dựa trên các số đọc. ESP32 sẽ đọc đầu ra analog và kích hoạt còi nếu đất quá khô.

Phần cứng được giải thích

Đối với dự án này, các thành phần chính là vi điều khiển SunFounder ESP32, cảm biến độ ẩm đất điện dung và một còi. ESP32 có Wi-Fi và Bluetooth tích hợp, cho phép giám sát và điều khiển từ xa. Cảm biến độ ẩm đất bao gồm hai bản cực đo điện dung, thay đổi tùy theo mức độ ẩm trong đất. Sự thay đổi điện dung này làm thay đổi điện áp đầu ra, mà ESP32 đọc qua đầu vào analog của nó. Còi sẽ cảnh báo chúng ta khi mức độ ẩm giảm xuống dưới một ngưỡng đã đặt.

sơ đồ mô-đun độ ẩm đất

Chi tiết bảng dữ liệu

Nhà sản xuất SunFounder
Số bộ phận Cảm biến độ ẩm đất
Điện áp hoạt động 3,3 đến 5 V
Loại đầu ra Analog
Dải tín hiệu 0 đến 3,3 V
Thời gian phản hồi Nhanh
Kích thước Xấp xỉ 60 x 20 mm
Ghi chú / biến thể Cảm biến loại điện dung

 

  • Đảm bảo cảm biến không bị ngập hoàn toàn trong nước để tránh hư hỏng.
  • Sử dụng điện trở kéo lên phù hợp nếu cần để có số đọc ổn định.
  • Hiệu chỉnh cảm biến cho loại đất cụ thể của bạn để có số đọc độ ẩm chính xác.
  • Duy trì kết nối dây đúng cách để tránh mất tín hiệu.
  • Cẩn thận với nguồn điện để tránh tình huống quá áp.

Hướng dẫn nối dây

ESP32-24-soild-moisture-wiring

Để nối cảm biến độ ẩm đất với ESP32, kết nối chân VCC của cảm biến với chân 3.3V trên ESP32. Tiếp theo, kết nối chân GND của cảm biến với một chân GND trên ESP32. Chân đầu ra analog từ cảm biến độ ẩm đất nên được kết nối với chân analog 35 trên ESP32. Đối với còi, kết nối chân dương với chân kỹ thuật số 13 trên ESP32 và chân âm với GND. Đảm bảo tất cả các kết nối được chắc chắn để tránh các sự cố gián đoạn trong quá trình hoạt động.

Ví dụ mã & hướng dẫn chi tiết

Dưới đây là một đoạn trích ngắn từ mã khởi tạo giao tiếp nối tiếp và đọc giá trị cảm biến độ ẩm:

void setup() {
  // Khởi tạo giao tiếp nối tiếp ở tốc độ 115200 bit mỗi giây:
  Serial.begin(115200);
}

Đoạn mã này thiết lập giao tiếp nối tiếp, cho phép chúng ta xem các số đọc từ cảm biến độ ẩm trong màn hình nối tiếp.

Tiếp theo, chúng ta có vòng lặp chính nơi giá trị analog được đọc từ cảm biến:

void loop() {
  // Đọc giá trị analog
  int analogValue = analogRead(35);
  
  // In ra các giá trị
  Serial.printf("Giá trị analog = %d\n",analogValue);
  
  delay(300);  // trễ giữa các lần đọc để đọc rõ ràng từ màn hình nối tiếp
}

Trong vòng lặp này, mã liên tục đọc giá trị analog từ chân 35 và in ra màn hình nối tiếp mỗi 300 mili giây. Điều này cho phép chúng ta theo dõi mức độ ẩm theo thời gian thực.

Trình diễn / Điều gì sẽ xảy ra

Khi cảm biến độ ẩm được đặt trong đất khô, giá trị analog sẽ cao hơn, cho biết độ ẩm thấp. Ngược lại, khi cảm biến được cắm vào đất ẩm, giá trị sẽ giảm đáng kể. Nếu số đọc giảm xuống dưới ngưỡng đã xác định (ví dụ: 2000), còi kết nối với chân 13 sẽ kích hoạt, báo hiệu rằng cây cần được tưới nước. Hãy cẩn thận với các đầu vào nổi và đảm bảo cảm biến không tiếp xúc với nước vượt quá giới hạn khuyến nghị (trong video tại 02:30).

Mốc thời gian video

  • 00:00 Bắt đầu
  • 1:51 Giới thiệu về dự án
  • 5:53 Giải thích về nối dây
  • 7:23 Giải thích mã Arduino
  • 9:09 Chọn bo mạch ESP32 và cổng COM trong Arduino IDE
  • 10:47 Trình diễn dự án trên chậu cây
  • 14:30 Bật còi khi chậu khô

Hình ảnh

ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-schematic
ESP32-24-soild-moisture-schematic
soil_mositure_module
soil_mositure_module
soil_mositure_module_schematic
soil_mositure_module_schematic
823-ESP32 Tutorial 24/55- Arduino code for soil moisture measurement
Ngôn ngữ: C++
void setup() {
  // Initialize serial communication at 115200 bits per second:
  Serial.begin(115200);
}

void loop() {
  // Read the analog value
  int analogValue = analogRead(35);
  
  // Print out the values
  Serial.printf("Analog value = %d\n",analogValue);
  
  delay(300);  // delay between reads for clear read from serial monitor
}

Tài nguyên & tài liệu tham khảo

Tập tin📁

Không có tệp nào khả dụng.