Arduino Cảm biến độ ẩm đất

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng cảm biến độ ẩm với Arduino. Cụ thể, chúng ta sẽ tìm hiểu:

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×Capacitive Soil Moisture Sensor
1×dây jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Cảm biến độ ẩm đất

cảm biến độ ẩm cảm ứng điện dung so với cảm biến độ ẩm điện trở

Có hai loại cảm biến độ ẩm:

  • Cảm biến độ ẩm điện trở
  • Cảm biến độ ẩm điện dung

Cả hai cảm biến đều cung cấp thông tin về độ ẩm của đất. Tuy nhiên, nguyên lý hoạt động của chúng khác nhau. Chúng tôi khuyến khích sử dụng cảm biến độ ẩm điện dung, vì lý do sau đây:

  • Cảm biến độ ẩm đất điện trở bị ăn mòn theo thời gian. Đó là do dòng điện chạy giữa các điện cực của nó. Điều này gây ra ăn mòn điện hóa.
  • Cảm biến độ ẩm đất cảm ứng điện dung không bị ăn mòn theo thời gian. Đó là vì các điện cực của nó không tiếp xúc với môi trường và do đó ít bị ăn mòn.

Hình ảnh dưới đây cho thấy một cảm biến độ ẩm đất điện trở đã bị ăn mòn theo thời gian.

cảm biến độ ẩm đất điện trở bị ă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 cảm ứng.

Bố trí chân của cảm biến độ ẩm đất cảm ứng

Một cảm biến độ ẩm đất cảm ứng điện dung có ba chân:

  • Chân GND: cần được nối với GND (0V)
  • Chân VCC: cần được nối với VCC (5V hoặc 3,3V)
  • Chân AOUT: Chân xuất tín hiệu analog, điện áp tỉ lệ nghịch với độ ẩm của đất. Nối chân này với một chân đầu vào analog của Arduino.
sơ đồ chân của cảm biến độ ẩm đất cảm ứng

Cách hoạt động

Càng nhiều nước trong đất, điện áp ở chân AOUT càng thấp.

Sơ đồ đấu dây

sơ đồ nối dây cảm biến độ ẩm đất Arduino

This image is created using Fritzing. Click to enlarge image

Mã Arduino

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-soil-moisture-sensor */ #define AOUT_PIN A0 // Arduino pin that connects to AOUT pin of moisture sensor void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor Serial.print("Moisture: "); Serial.println(value); delay(500); }

Hướng dẫn từng bước

  • Sao chép mã ở trên và mở nó bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • Chôn cảm biến trong đất, sau đó đổ nước vào đất. Hoặc từ từ nhúng nó vào một ly nước muối.
  • Kiểm tra kết quả trên Serial Monitor. Nó trông như bên dưới:
COM6
Send
Moisture: 581 Moisture: 581 Moisture: 575 Moisture: 566 Moisture: 556 Moisture: 547 Moisture: 539 Moisture: 530 Moisture: 521 Moisture: 513 Moisture: 506 Moisture: 500 Moisture: 495 Moisture: 492 Moisture: 490 Moisture: 489 Moisture: 488
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Lưu ý:

  • Không được sử dụng nước tinh khiết để thử nghiệm vì nó không dẫn điện, điều này có nghĩa là nó sẽ không ảnh hưởng đến các giá trị cảm biến.
  • Các giá trị cảm biến thường không xuống tới 0. Điều này là bình thường khi chúng nằm trong khoảng từ 500 đến 600, nhưng điều này có thể thay đổi tùy vào các yếu tố như độ sâu mà cảm biến được đặt, loại đất hoặc nước, và điện áp của nguồn cấp.
  • Tuyệt đối không chôn phần mạch (nằm ở trên đỉnh 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.

Hiệu chuẩn cho cảm biến độ ẩm đất cảm ứng điện dung

Giá trị đo được từ cảm biến độ ẩm là tương đối. Nó phụ thuộc vào thành phần của đất và lượng nước trong đất. Trong thực tế, chúng ta cần hiệu chuẩn để xác định một ngưỡng, là ranh giới giữa ướt và khô.

Cách thực hiện hiệu chuẩn:

  • Chạy đoạn mã trên Arduino
  • Gắn cảm biến độ ẩm vào đất
  • Gắn cảm biến độ ẩm vào đất
  • Đổ nước vào đất từ từ
  • Xem Serial Monitor.
  • Ghi lại một giá trị tại thời điểm đất thay đổi độ ẩm từ khô sang ướt. Giá trị này được gọi là THRESHOLD.

Xác định xem đất ướt hay khô

Sau khi hiệu chuẩn, hãy cập nhật giá trị THRESHOLD mà bạn đã ghi lại vào đoạn mã dưới đây. Đoạn mã dưới đây xác định xem đất có ẩm hay khô.

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-soil-moisture-sensor */ #define AOUT_PIN A0 // Arduino pin that connects to AOUT pin of moisture sensor #define THRESHOLD 530 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor if (value > THRESHOLD) Serial.print("The soil is DRY ("); else Serial.print("The soil is WET ("); Serial.print(value); Serial.println(")"); delay(500); }

Kết quả trên Serial Monitor.

COM6
Send
The soil is DRY (581) The soil is DRY (575) The soil is DRY (566) The soil is DRY (547) The soil is DRY (539) The soil is WET (521) The soil is WET (513) The soil is WET (492) The soil is WET (488)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Tham khảo hàm