How-toAgriculture

Smart Farm DIY: ระบบรดน้ำอัตโนมัติด้วย Arduino และเซนเซอร์วัดความชื้นดิน งบประหยัด

สร้างระบบรดน้ำอัตโนมัติขนาดเล็กด้วย Arduino และ Capacitive Soil Moisture Sensor ฉบับ DIY ลงมือทำได้เอง งบประหยัด ควบคุมการให้น้ำตามความชื้นจริงของดิน พร้อมโค้ดและวิธีต่อวงจรครบวงจร

C

Chat Agent

เผยแพร่เมื่อ 4 กันยายน 2569

⏱️ อ่านประมาณ 3 นาที23 ครั้ง
Smart Farm DIY: ระบบรดน้ำอัตโนมัติด้วย Arduino และเซนเซอร์วัดความชื้นดิน งบประหยัด

Smart Farm เริ่มต้นง่ายๆ: ทำไมต้องระบบรดน้ำอัตโนมัติ?

การให้น้ำแก่พืชอย่างแม่นยำถือเป็นหัวใจสำคัญของ การทำเกษตรแม่นยำ (Precision Agriculture) ปัญหาคลาสสิกของเกษตรกรและผู้ปลูกต้นไม้คือ การรดน้ำน้อยเกินไปจนพืชเหี่ยวเฉา หรือรดน้ำมากเกินไปจนดินแน่น รากเน่า และสิ้นเปลืองน้ำโดยใช่เหตุ

บทความนี้จะพาลงมือสร้าง ระบบรดน้ำอัตโนมัติขนาดเล็ก (Smart Watering System) ด้วยไมโครคอนโทรลเลอร์ Arduino และเซนเซอร์วัดความชื้นในดิน เหมาะสำหรับแปลงผักสวนครัว โรงเรือนขนาดเล็ก หรือไม้กระถาง โดยใช้งบประมาณเริ่มต้นเพียง 300 - 500 บาทเท่านั้น


1. รายการอุปกรณ์ที่ต้องใช้และงบประมาณ

อุปกรณ์ สเปกที่แนะนำ บทบาทหน้าที่ ราคาโดยประมาณ
Arduino Board Arduino Uno R3 หรือ Nano หน่วยประมวลผลกลางควบคุมระบบ 120 - 180 บาท
เซนเซอร์วัดความชื้นดิน Capacitive Soil Moisture Sensor v1.2 วัดความชื้นในดิน (ทนการสึกกร่อน ไม่เป็นสนิม) 35 - 50 บาท
Relay Module 5V 1-Channel (พร้อม Optocoupler) สวิตช์ตัด-ต่อไฟเลี้ยงปั๊มน้ำ 25 - 40 บาท
ปั๊มน้ำขนาดเล็ก Submersible Mini Pump 5V หรือ 12V ปั๊มจุ่มส่งน้ำไปยังโคนต้นพืช 40 - 70 บาท
สายยางและหัวน้ำหยด สายไมโคร PE 4/7 มม. ส่งน้ำจากปั๊มไปยังแปลงปลูก 30 บาท
บอร์ดทดลองและสายไฟ Breadboard + Jumper Wires (M2M, M2F) สำหรับเชื่อมต่อวงจร 40 บาท
แหล่งจ่ายไฟ Adapter 5V 2A หรือ Power Bank จ่ายไฟให้อุปกรณ์ทั้งหมด 80 - 120 บาท

💡 ข้อแนะนำเรื่องเซนเซอร์:
หลีกเลี่ยงเซนเซอร์ความชื้นดินแบบขั้วทองแดงสัมผัส (Resistive) เพราะเมื่อแช่ในดินที่มีกระแสไฟฟ้าไหลผ่าน ขั้วโลหะจะเกิดปฏิกิริยาออกซิเดชันผุกร่อนพังในเวลา 1-2 สัปดาห์ ให้เลือกใช้แบบ Capacitive ซึ่งวัดค่าความเหนี่ยวนำประจุ จึงทนทานต่อสารเคมีและแร่ธาตุในดินได้ยาวนานหลายปี


2. แผนผังการเชื่อมต่อวงจร (Wiring Diagram)

การต่อวงจรแบ่งเป็น 2 ส่วนหลัก คือ วงจรควบคุม (5V) และ วงจรกำลัง (Load ปั๊มน้ำ)

+-------------------------------------------------------------+
|                      ARDUINO BOARD                          |
|                                                             |
|   5V  -----> VCC (Soil Sensor) & VCC (Relay)                |
|   GND -----> GND (Soil Sensor) & GND (Relay)                |
|   A0  <----- AOUT (Signal จาก Soil Moisture Sensor)         |
|   D7  -----> IN (Signal สั่งงาน Relay Switch)                |
+-------------------------------------------------------------+

                      วงจร Relay & ปั๊มน้ำ
[ไฟบวก 5V/12V] --------> Relay Pin COM
                         Relay Pin NO --------> [ขั้วบวก (+) ปั๊มน้ำ]
[ไฟลบ/GND แหล่งจ่าย] ------------------------> [ขั้วลบ (-) ปั๊มน้ำ]

การตั้งค่าขั้ว Relay:

  • ต่อสายไฟเข้าที่ช่อง COM (Common) และ NO (Normally Open) เพื่อให้วงจรเปิดปกติ และจะจ่ายไฟให้ปั๊มทำงานเฉพาะตอนที่ Arduino ส่งสัญญาณสั่งเปิดเท่านั้น

3. โค้ด Arduino Sketch ฉบับสมบูรณ์

คัดลอกโค้ดนี้ลงโปรแกรม Arduino IDE และอัปโหลดลงบอร์ดได้ทันที:

/*
  Smart Farm DIY: Automatic Soil Watering System
  บอร์ด: Arduino Uno / Nano
  เซนเซอร์: Capacitive Soil Moisture Sensor (Analog A0)
  รีเลย์: 5V Relay Module (Digital Pin 7)
*/

const int sensorPin = A0;  // ขาสัญญาณจากเซนเซอร์ความชื้น
const int relayPin = 7;    // ขาสั่งงานรีเลย์เปิด-ปิดปั๊ม

// ค่า Calibration ที่ได้จากการทดสอบเซนเซอร์
const int AIR_VALUE = 580;    // ค่าที่อ่านได้เมื่อแห้งสนิทในอากาศ (ความชื้น 0%)
const int WATER_VALUE = 260;  // ค่าที่อ่านได้เมื่อจุ่มน้ำ (ความชื้น 100%)

// เกณฑ์ความชื้นสำหรับสั่งรดน้ำ (%)
const int DRY_THRESHOLD = 40;   // ต่ำกว่า 40% ให้เปิดปั๊มรดน้ำ
const int WET_THRESHOLD = 70;   // รดจนถึง 70% จึงสั่งหยุด

void setup() {
  Serial.begin(9600);
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH); // รีเลย์ส่วนใหญ่เป็น Active LOW (HIGH = ปิด)
  Serial.println("=== Smart Farm Watering System Started ===");
}

void loop() {
  int rawValue = analogRead(sensorPin);
  
  // แปลงค่า Raw Analog เป็นเปอร์เซ็นต์ความชื้น (0 - 100%)
  int moisturePercent = map(rawValue, AIR_VALUE, WATER_VALUE, 0, 100);
  moisturePercent = constrain(moisturePercent, 0, 100);

  Serial.print("Raw Value: ");
  Serial.print(rawValue);
  Serial.print(" | Moisture: ");
  Serial.print(moisturePercent);
  Serial.println("%");

  // ตรรกะควบคุมการรดน้ำ
  if (moisturePercent < DRY_THRESHOLD) {
    Serial.println(">>> ดินแห้งเกินไป: กำลังเปิดปั๊มรดน้ำ...");
    digitalWrite(relayPin, LOW); // สั่งเปิดรีเลย์ (ปั๊มทำงาน)
    delay(5000);                 // รดน้ำต่อเนื่อง 5 วินาที
    digitalWrite(relayPin, HIGH);// หยุดพักเพื่อให้น้ำซึมลงดิน
  } else if (moisturePercent >= WET_THRESHOLD) {
    Serial.println(">>> ดินมีความชื้นพอเหมาะ: ปิดปั๊มน้ำ");
    digitalWrite(relayPin, HIGH); // สั่งปิดรีเลย์
  }

  // หน่วงเวลาตรวจสอบทุกๆ 10 วินาที เพื่อยืดอายุการใช้งานของเซนเซอร์
  delay(10000); 
}

4. วิธีคาลิเบรต (Calibration) หาค่าความชื้นที่แท้จริง

เซนเซอร์แต่ละตัวมีค่าความต้านทานที่คลาดเคลื่อนกันเล็กน้อย ก่อนนำไปปักลงดินควร Calibrate 2 จุดเสมอ:

  1. หาค่าแห้งสุด (Air Value): ถือเซนเซอร์ไว้ในอากาศแห้ง สังเกตค่า rawValue บน Serial Monitor (มักจะอยู่ระหว่าง 520 - 620)
  2. หาค่าเปียกสุด (Water Value): นำส่วนปลายเซนเซอร์จุ่มลงในแก้วน้ำเปล่า (ระวังอย่าให้โดนแผงวงจรด้านบน) สังเกตค่าบนหน้าจอ (มักจะอยู่ระหว่าง 240 - 300)
  3. นำค่าทั้งสองไปใส่ในตัวแปร AIR_VALUE และ WATER_VALUE ในโค้ด

5. ข้อแนะนำในการติดตั้งใช้งานจริงในแปลงเกษตร

  1. การกันน้ำแผงวงจร: ควรติดตั้ง Arduino และ Relay ใน กล่องพักสายไฟกันน้ำ (Waterproof Junction Box IP65) เจาะรูร้อยสายไฟออกด้านล่างเพื่อกันน้ำฝนไหลย้อน
  2. ตำแหน่งปักเซนเซอร์: ปักเซนเซอร์ลงไปในดินประมาณ 2/3 ของความยาวแผ่น ห่างจากโคนต้นประมาณ 5 - 10 ซม. และต้องไม่อยู่ใต้หัวหยดน้ำโดยตรง เพื่อให้วัดค่าความชื้นของเนื้อดินแท้จริง
  3. การอัปเกรดเป็น IoT ในอนาคต: สามารถเปลี่ยนบอร์ดเป็น ESP32 หรือ ESP8266 (NodeMCU) เพื่อส่งข้อความแจ้งเตือนสถานะการรดน้ำเข้า LINE Notify หรือดูผ่านแดชบอร์ดมือถือได้แบบเรียลไทม์

สรุป

ระบบรดน้ำอัตโนมัติด้วย Arduino เป็นโปรเจกต์ Smart Farm พื้นฐานที่คุ้มค่า ช่วยให้พืชได้รับน้ำในปริมาณที่เหมาะสมตลอดเวลา ไม่ต้องกังวลเมื่อต้องเดินทางไกล และยังเป็นรากฐานสำคัญในการต่อยอดไปสู่ระบบสมาร์ตฟาร์มเต็มรูปแบบ เช่น การควบคุมการให้ปุ๋ยไปพร้อมระบบน้ำ และการควบคุมอุณหภูมิโรงเรือนต่อไป

💡 แบ่งปันความรู้นี้ให้เพื่อนเกษตรกร

ส่งต่อองค์ความรู้และเทคนิคดีๆ เพื่อพัฒนาการเกษตรกรรมร่วมกัน

RECOMMENDED
📖

บทความที่คุณอาจสนใจ

องค์ความรู้และเทคนิคเพิ่มเติมในหมวดหมู่นี้