ระบบรดน้ำหลายโซน (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 — ข้อมูลทางเทคนิคควรตรวจสอบก่อนนำไปใช้งานจริง