โครงการ Smart Garden — รวมทุกอย่างในระบบเดียว

Smart Garden — ระบบสวนอัจฉริยะครบวงจร

โครงการนี้รวมทุกองค์ประกอบของสมาร์ทโฮม DC 12V เข้าด้วยกัน — ระบบรดน้ำอัตโนมัติ ระบบเปิดไฟอัตโนมัติ และการตรวจสอบสภาพแวดล้อม

รายการอุปกรณ์

  1. Arduino Uno R3 — 1 ชุด
  2. Arduino Screw Shield — 1 ชุด (ต่อสายสะดวก)
  3. Relay Module 4ch 12V — 1 ชุด
  4. DS3231 RTC Module — 1 ชุด
  5. DHT22 — 1 ชุด (วัดอุณหภูมิ/ความชื้น)
  6. Soil Moisture Sensor (Capacitive) — 2 ชุด
  7. Rain Sensor — 1 ชุด
  8. LDR + 10k Resistor — 1 ชุด
  9. PIR HC-SR501 — 1 ชุด
  10. LED Strip 12V (Warm White 2m) — 1 ม้วน
  11. Solenoid Valve 12V 1/2" — 2 ชุด
  12. Adapter 12V 5A — 1 ชุด
  13. Buck Converter LM2596 — 1 ชุด
  14. IRLZ44N MOSFET + Heatsink — 1 ชุด
  15. ตู้ IP65 300x250x150mm — 1 ชุด
  16. สายไฟ 1.5mm² + 0.5mm² อย่างละ 10m
  17. Terminal Block, Bus Bar, Fuse Holder, Cable Gland

Source Code — Main Program

#include "RTClib.h"
#include "DHT.h"

RTC_DS3231 rtc;
DHT dht(2, DHT22);

// Pin Mapping
const int MOIST_A = A0;
const int MOIST_B = A1;
const int RAIN = A2;
const int LDR = A3;
const int VALVE_A = 7;
const int VALVE_B = 8;
const int LIGHT_RELAY = 9;
const int LED_PWM = 10;

// Settings
int lightOnTime = 1050;   // 17:30
int lightOffTime = 1320;  // 22:00
int waterHour[] = {6, 18};
int waterDuration = 180;  // 3 นาที

void setup() {
  Serial.begin(9600);
  if (!rtc.begin()) while(1);
  if (!rtc.isrunning()) rtc.adjust(DateTime(F(__DATE__),F(__TIME__)));
  dht.begin();

  pinMode(VALVE_A, OUTPUT); digitalWrite(VALVE_A, HIGH);
  pinMode(VALVE_B, OUTPUT); digitalWrite(VALVE_B, HIGH);
  pinMode(LIGHT_RELAY, OUTPUT); digitalWrite(LIGHT_RELAY, HIGH);
  pinMode(LED_PWM, OUTPUT); analogWrite(LED_PWM, 0);
}

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

  // Auto Light
  if (hm >= lightOnTime || hm < lightOffTime) {
    digitalWrite(LIGHT_RELAY, LOW);
    analogWrite(LED_PWM, 128); // 50% brightness
  } else {
    digitalWrite(LIGHT_RELAY, HIGH);
    analogWrite(LED_PWM, 0);
  }

  // Auto Water
  int moistA = analogRead(MOIST_A);
  int moistB = analogRead(MOIST_B);
  int rain = analogRead(RAIN);
  float h = dht.readHumidity();

  for (int w : waterHour) {
    if (now.hour() == w && now.minute() == 0) {
      if (rain < 400) {
        Serial.println("🌧️ ฝนตก งดรดน้ำ");
      } else {
        if (moistA > 500) {
          Serial.println("💧 Zone A รดน้ำ");
          digitalWrite(VALVE_A, LOW);
          delay(waterDuration * 1000);
          digitalWrite(VALVE_A, HIGH);
        }
        if (moistB > 500) {
          Serial.println("💧 Zone B รดน้ำ");
          digitalWrite(VALVE_B, LOW);
          delay(waterDuration * 1000);
          digitalWrite(VALVE_B, HIGH);
        }
      }
    }
  }

  reportStatus(moistA, moistB, rain, h, now);
  delay(30000);
}

void reportStatus(int mA, int mB, int r, float h, DateTime n) {
  Serial.print(n.hour()); Serial.print(":");
  Serial.print(n.minute()); Serial.print(" | ");
  Serial.print("Moist A:"); Serial.print(mA);
  Serial.print(" B:"); Serial.print(mB);
  Serial.print(" Rain:"); Serial.print(r);
  Serial.print(" Humidity:"); Serial.print(h);
  Serial.println("%");
}

งบประมาณโดยประมาณ

อุปกรณ์ราคา
Arduino Uno R3300
Relay Module 4ch + Buck + RTC + Sensors500
Solenoid Valve 1/2" ×2600
LED Strip 12V 2m + MOSFET250
Adapter 12V 5A250
ตู้ IP65 + สายไฟ + อุปกรณ์ประกอบ500
รวม~2,400 บาท
Tip: สำหรับมือใหม่ ให้เริ่มจากระบบรดน้ำโซนเดียวก่อน แล้วค่อยขยายเป็นหลายโซน ระบบเปิดไฟ ระบบ PIR ตามลำดับ — ไม่ต้องทำทุกอย่างพร้อมกัน

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

อุปกรณ์ราคา
ตู้ IP65 300x250x150mm~200-400 บาท
Din Rail + อะแดปเตอร์~50-100 บาท
Cable Gland PG9 (5 ตัว)~30-50 บาท
Bus Bar 12V 12P~30-60 บาท
สายไฟ 1.5mm² 10m~50-100 บาท
สายไฟ 0.75mm² 10m~30-60 บาท
Cable Tie + Label~20-50 บาท
Breaker/Fuse Box~50-100 บาท

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

ทั้งตู้ควบคุมสามารถใช้ แบต 12V 7Ah (~350-500 บาท) แทน Adapter ได้เลย โดยต่อแบตเข้ากับ Buck Converter สำหรับ Arduino และจ่าย 12V ตรงให้ Relay/Valve

สำหรับระบบที่ต้องการ Solar Off-Grid:

  • Solar Panel 20W: ~500-800 บาท
  • Solar Charge Controller 10A: ~200-400 บาท
  • แบต 12V 7Ah: ~350-500 บาท
  • รวม ~1,050-1,700 บาท

ลงทุนครั้งเดียว ไม่ต้องจ่ายค่าไฟรายเดือน — คืนทุนใน ~1-2 ปี

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

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