Arduino Hệ thống tưới nước tự động

Hệ thống tưới tự động là một phần của khu vườn thông minh. Trong hướng dẫn này, chúng ta sẽ học cách chế tạo một hệ thống tưới tự động cho khu vườn bằng Arduino, một cảm biến độ ẩm đất, rơ-le và máy bơm. Cụ thể:

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

1×Arduino Uno R3 Amazon
1×USB 2.0 cable type A/B (for USB-A PC) Amazon
1×USB 2.0 cable type C/B (for USB-C PC) Amazon
1×Capacitive Soil Moisture Sensor Amazon
1×Relay Amazon
1×12V Pump Amazon
1×Vinyl Tube Amazon
1×12V Power Adapter Amazon
1×DC Power Jack Amazon
1×dây jumper Amazon
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno Amazon
1×(Khuyến nghị) Sensors/Servo Expansion Shield for Arduino Uno Amazon
1×(Khuyến nghị) Breadboard Shield for Arduino Uno Amazon
1×(Khuyến nghị) Enclosure for Arduino Uno Amazon
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO Amazon

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included) Amazon
1×DIYables Sensor Kit (18 sensors/displays) Amazon
Tiết lộ: Một số liên kết trong bài viết này là liên kết tiếp thị Amazon và có thể nhận hoa hồng theo chính sách của chương trình.

Về cảm biến độ ẩm đất và máy bơm

Nếu bạn chưa biết về bơm nước và cảm biến độ ẩm đất (sơ đồ nối chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu về chúng trong các bài hướng dẫn sau:

Sơ đồ đấu dây

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

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-automatic-irrigation-system */ #define RELAY_PIN 2 // Arduino pin that connects to relay #define MOISTURE_PIN A0 // Arduino pin that connects to AOUT pin of moisture sensor #define THRESHOLD 530 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); } void loop() { int value = analogRead(MOISTURE_PIN); // read the analog value from sensor if (value > THRESHOLD) { Serial.print("The soil is DRY => turn pump ON"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil is WET => turn pump OFF"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(500); }

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

  • Thực hiện hiệu chuẩn để xác định ngưỡng ướt-khô, xem Arduino - Cảm biến độ ẩm đất
  • Cập nhật giá trị ngưỡng đã hiệu chuẩn vào mã nguồn
  • Mở Serial Monitor trên Arduino IDE
  • Tải mã lên Arduino
  • Xem kết quả trên Serial Monitor
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
The soil is DRY => turn pump ON The soil is DRY => turn pump ON The soil is DRY => turn pump ON The soil is DRY => turn pump ON The soil is WET => turn pump OFF The soil is WET => turn pump OFF The soil is WET => turn pump OFF The soil is WET => turn pump OFF
Ln 11, Col 1
Arduino Uno on COM15
2

Giải thích mã nguồn

Đọc lời giải thích theo từng dòng trong các chú thích của mã nguồn!

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.