Zone Valve System — การแบ่งโซนรดน้ำและควบคุมหลายวาล์ว

ระบบรดน้ำหลายโซน (Multi-Zone)

ในสวนที่มีต้นไม้หลายประเภท เราจำเป็นต้องแบ่งโซนรดน้ำ เพราะต้นไม้แต่ละชนิดต้องการน้ำไม่เท่ากัน

หลักการแบ่งโซน

โซนชนิดต้นไม้เวลารดน้ำความถี่
Aหญ้า + ไม้พุ่ม15 นาทีวันเว้นวัน
Bไม้ดอก กระถาง5 นาทีทุกวัน
Cผักสวนครัว10 นาทีวันละ 2 ครั้ง
Dไม้ใหญ่ ไม้ผล30 นาทีสัปดาห์ละ 2 ครั้ง

การต่อวงจรหลายวาล์ว

Arduino Pin 7 → Relay Module CH1 → Valve Zone A
Arduino Pin 8 → Relay Module CH2 → Valve Zone B
Arduino Pin 9 → Relay Module CH3 → Valve Zone C
Arduino Pin 10 → Relay Module CH4 → Valve Zone D

Relay Module:
  VCC → 12V
  GND → GND
  COM (ทุกช่อง) → 12V+
  NO1 → Valve A+
  NO2 → Valve B+
  NO3 → Valve C+
  NO4 → Valve D+

Source Code — Multi-Zone Scheduling

struct Zone {
  int relayPin;
  int hour;
  int minute;
  int duration; // วินาที
  int interval; // 0 = ทุกวัน, 1 = วันเว้นวัน
  const char* name;
};

Zone zones[] = {
  {7, 6, 0, 900, 1, "หญ้า"},     // 6:00 15นาที วันเว้น
  {8, 7, 0, 300, 0, "ไม้ดอก"},   // 7:00 5นาที ทุกวัน
  {9, 6, 30, 600, 0, "ผักเช้า"},  // 6:30 10นาที ทุกวัน
  {9, 17, 0, 600, 0, "ผักเย็น"},  // 17:00 10นาที ทุกวัน
  {10, 8, 0, 1800, 2, "ไม้ใหญ่"}, // 8:00 30นาที สัปดาห์ละ 2
};
const int ZONE_COUNT = 5;
int lastRunDay[ZONE_COUNT] = {0};

void runZone(Zone &z, int today) {
  Serial.print("💧 รดน้ำ "); Serial.print(z.name);
  Serial.print(" เป็นเวลา "); Serial.print(z.duration);
  Serial.println(" วินาที");

  digitalWrite(z.relayPin, LOW); // เปิดวาล์ว
  delay(z.duration * 1000);
  digitalWrite(z.relayPin, HIGH); // ปิดวาล์ว

  lastRunDay[&z - zones] = today;
}

void loop() {
  DateTime now = rtc.now();
  int hourMin = now.hour() * 60 + now.minute();
  int today = now.day();

  for (int i = 0; i < ZONE_COUNT; i++) {
    int zoneMin = zones[i].hour * 60 + zones[i].minute;
    if (hourMin == zoneMin && today != lastRunDay[i]) {
      // ตรวจ interval
      if (zones[i].interval == 0) {
        runZone(zones[i], today);
      } else if (zones[i].interval == 1 && today % 2 == 0) {
        runZone(zones[i], today);
      } else if (zones[i].interval == 2 && (today % 4 < 2)) {
        runZone(zones[i], today);
      }
    }
  }
  delay(60000);
}
Tip: อย่าเปิดวาล์วหลายโซนพร้อมกัน! เพราะแรงดันน้ำจะตก ทำให้ทุกโซนได้น้ำน้อย ใช้ระบบ Sequential — เปิดทีละโซน

💰 ราคาประมาณการ

อุปกรณ์ราคา
Solenoid Valve 1/2" 12V~250-400 บาท
Solenoid Valve 3/4" 12V~300-500 บาท
ปั๊ม Diaphragm 12V~300-600 บาท
ปั๊ม Submersible 12V~150-300 บาท
RTC DS3231~40-80 บาท
ท่อPVC 1/2" + ข้อต่อ~100-300 บาท
หัวพ่นน้ำ/สายน้ำหยด~50-200 บาท
Adapter 12V 5A (รดน้ำ)~200-300 บาท

🔋 ทางเลือกใช้แบตเตอรี่

ระบบรดน้ำใช้ไฟมากสุดตอนเปิดวาล์ว/ปั๊ม (~1-2A) เหมาะกับ แบต 12V 7Ah (~350 บาท) + Solar Panel 20W (~500 บาท) — ใช้ได้ 2-3 วันต่อการชาร์จ 1 ครั้ง

หรือใช้ แบต LiFePO4 12V 10Ah (~1,000 บาท) — น้ำหนักเบา อายุใช้งานยาวนานกว่าแบตตะกั่วกรด

คำนวณง่ายๆ: ถ้ารดน้ำวันละ 30 นาที กระแส 2A → ใช้ไฟ 1Ah/วัน แบต 7Ah อยู่ได้ 5-7 วัน

⚠️ หมายเหตุ: เนื้อหานี้ค้นคว้าและเรียบเรียงโดย Hermes AI — ข้อมูลทางเทคนิคควรตรวจสอบก่อนนำไปใช้งานจริง

⚠️ เนื้อหาถูกสร้างโดย AI (Hermes AI) — ข้อมูลทางเทคนิคอาจต้องตรวจสอบก่อนนำไปใช้งานจริง