สร้างระบบรดน้ำอัตโนมัติ — ESP32 + Capacitive Sensor + ปั๊มไดอะแฟรม 12V + เว็บแสดงกราฟความชื้น

ระบบรดน้ำอัตโนมัติครบวงจร — จากเซ็นเซอร์ถึงเว็บแอป

รวมทุกอย่างที่เรียนรู้มาเป็นระบบจริง: กระถางแขวนสูง 2 เมตร, ถังน้ำวางพื้น, ESP32 ตรวจความชื้น, ปั๊มไดอะแฟรม 12V สูบน้ำขึ้นรด, แบตเตอรี่ 12V, และเว็บแอปแสดงกราฟความชื้น + สถานะปั๊มแบบ Real-time

ภาพรวมระบบ

        ที่มีหลังคา
         |
    +----+----+       WiFi -> https://bc221.duckdns.org/watering/
    | กระถาง  |       สงข้อมูลทุก 30 นาที
    | แขวน 2ม.|       +------------------+
    |Capacitiv|       |  ESP32 Dev Board |
    | Sensor  |<----->|  - WiFi ON       |
    +----+----+       |  - Deep Sleep    |
         |            |  - Relay -> ปั๊ม  |
    +----+----+       +--------+---------+
    | ปั๊ม   |                |
    |ไดอะแฟรม|<---------------+
    | 12V    |       แบต 12V วางขางถัง
    +----+----+
         |
    +----+----+
    | ถังน้ำ  |
    | ปิดฝา  |
    +---------+
        พื้น

อุปกรณ์ทั้งหมด — แยกรายการละเอียด

อุปกรณ์รายละเอียดราคา
1. ESP32 Dev BoardWiFi + BLE, 3.3V, 12-bit ADC~150-200 บาท
2. Capacitive Soil Moisture v1.2วัดความชื้น, AOUT, 3.3-5V~50-80 บาท
3. ปั๊มไดอะแฟรม 12V DCBIXINONG 5L/min, Self-priming, 3-4 Bar~250-500 บาท
4. Relay Module 1ch 5V (SRD-05VDC)coil 5V, COM/NO/NC, 10A 250V~20-30 บาท
5. Step Down 12V -> 3.3V (AMS1117-3.3)แปลงไฟเลี้ยง ESP32~20-40 บาท
6. Voltage Divider สำหรับวัดแบตResistor 100K + 33K (หรือ 10K+3.3K)~5-10 บาท
7. Fuse Holder + Fuse 3Aปองกันกระแสเกิน, ตัดไฟถ้าช็อต~15-30 บาท
8. Float Switch (กันปั๊มแห้ง)ตัดปั๊มอัตโนมัติเมื่อน้ำในถังหมด~30-50 บาท
9. Check Valve 6mmกันน้ำไหลยอนกลับจากท่อ~20-30 บาท
10. สายท่อ PU 6x4mm 10 เมตรสงน้ำจากปั๊มถึงกระถาง~50 บาท
11. หยด Adjustableปรับอัตราหยด 0-20 L/h~10-20 บาท
12. กล่องกันน้ำ IP65ใส่ ESP32 + Relay + Step Down + สายไฟ~50-150 บาท
13. สายไฟ + อุปกรณ์ต่อวงจรJumper, Breadboard, Terminal Block, Heat Shrink~50-100 บาท
14. ทอ PVC + กาว + ข้อตอประปาต่อถังน้ำ, เจาะรู, Cable Gland PG7~50-100 บาท
15. อื่นๆนอต, สกรูกันสนิม, Cable Tie, ซิลิโคน~30-50 บาท
รวมค่าอุปกรณทั้งหมด (ไมรวมแบต)~800-1,460 บาท

แบตเตอรี่ 12V — เทียบ 3 แบบ เลือกตามงบ

แบบที่ 1 — แบตมอเตอรไซค 12V (Lead Acid) เนะนำที่สุด!

ปลอดภัย ประหยัด หางาย!

  • ราคา: ~250 บาท (7-9Ah)
  • วาง: ขางถังน้ำดานลาง — ใกลปั๊ม, สายไฟสั้น, ถ่วงน้ำหนักกันลม
  • ปลอดภัย: Lead Acid ไมระเบิด ไมไฟไหม (ไมเหมือน Lithium)
  • ชารจ: ใช Charger แบตมอเตอรไซค 12V ทั่วไป ~80-150 บาท
  • อายุ: 1-2 ป (เปลียนตามรานมอเตอรไซค ~250 บาท)
  • น้ำหนัก: ~2 กก. — วางขางถังถวงน้ำหนักกันลมไดดี
  • หาราน: อะไหล่มอเตอรไซคทั่วไป, Shopee, Lazada
แบตเตอรี่ราคาความจุปลอดภัยอายุน้ำหนักรวมอุปกรณ์+แบต
มอเตอรไซค 12V~250 บาท7-9Ah ปลอดภัยที่สุด1-2 ป~2 กก.~1,050-1,710 บาท
18650 3S 3 กอน + BMS~200-350 บาท2.6-3.5Ah⚠️ ตองมี BMS มิฉะนั้นไฟไหม2-3 ป~150 ก.~1,000-1,810 บาท
LiFePO4 12V 7Ah~450-800 บาท7-10Ah ปลอดภัย5-8 ป~500 ก.-1กก.~1,250-2,260 บาท

แบตมอเตอรไซค 250 บาท คุมที่สุด! — ถูกราคา, ปลอดภัย (ไมมีโอกาสไฟไหม), หางาย, วางขางถังน้ำไดเลย อายุ 1-2 ป เปลียน 250 บาท คุ้มกวาเปลี่ยน 18650 ทุกป LiFePO4 คุมสำหรับคนที่ใชนาน 5-8 ป แตราคาเริ่ม 450 บาท

อายุแบต — แตละแบบอยูไดกี่วัน?

สมมติ: ESP32 Deep Sleep (~10µA), ตื่น WiFi วัดคา (~80mA 10วินาที x 48ครั้ง/วัน), ปั๊มทำงาน 2 นาที/วัน (~2A)

แบตเตอรี่ความจุราคาอยูไดตอชารจ
มอเตอรไซค 12V 7-9Ah7,000-9,000mAh~250 บาท~90-115 วัน (~3-4 เดือน)
18650 3S 2,600mAh2,600mAh~200-350 บ.~33 วัน (~1 เดือน)
18650 3S 3,500mAh3,500mAh~300-450 บ.~45 วัน (~1.5 เดือน)
LiFePO4 12V 7Ah7,000mAh~450-800 บ.~90 วัน (~3 เดือน)
LiFePO4 12V 10Ah10,000mAh~650-1,000 บ.~128 วัน (~4 เดือน)
Solar 5W + LiFePO4 7Ahชารจตอนกลางวัน~1,200-1,800 บ. ไมตองชารจเลย!

แบตมอเตอรไซค 12V 250 บาท อยูได 3-4 เดือนตอชารจ — ปใหม 250 บาท รวมระบบ ~1,050-1,710 บาท เทานั้น!

แผนผังวงจรไฟฟา (Wire Diagram)

 แบตมอเตอรไซค 12V        (วางขางถังน้ำ ดานลาง)
        |
   [Fuse 3A]  ั  ปองกันกระแสเกิน
        |
        +----+---- Relay COM ----+--- ปั๊ม 12V (+)
        |         (Normally Open) |   ปั๊ม 12V (-) --- GND
        |                          |
        +----+---- Step Down 12V->3.3V (AMS1117)
        |         |
        |    +----+---- ESP32 VIN (3.3V)
        |    |    +---- Relay Module VCC (5V)
        |    |    |
        |    |    +---- Voltage Divider (100K+33K)
        |    |          -> ESP32 GPIO35 (วัดแบต)
        |    |
        |    +---- ESP32 GND
        |         Relay Module GND
        |         Capacitive Sensor GND
        |         ปั๊ม GND
        |
        +---- ESP32 GPIO34 <- Capacitive Sensor AOUT
              ESP32 GPIO32 -> Relay Module IN
              ESP32 3.3V   -> Capacitive Sensor VCC

Source Code ESP32 — ครบทุกฟังก์ชั่น

// ESP32 Watering System — Capacitive Sensor + Pump + Web API
#include <WiFi.h>
#include <HTTPClient.h>

const char* ssid = "WiFi_Name";
const char* password = "WiFi_Pass";
const char* api_url = "https://bc221.duckdns.org/watering/api.php";
const char* api_token = "watering2026";

#define CAP_PIN     34
#define RELAY_PIN   32
#define BATT_PIN    35
#define DRY_LEVEL   650
#define WET_LEVEL   350

void setup() {
  Serial.begin(115200);
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, LOW);
  analogReadResolution(12);

  WiFi.begin(ssid, password);
  int tries = 0;
  while (WiFi.status() != WL_CONNECTED && tries < 20) {
    delay(500); tries++;
  }

  int moisture = readSensor();
  float battery = readBattery();
  int pumpOn = 0;

  if (battery > 10.5 && moisture > DRY_LEVEL) {
    Serial.println("ดินแหง! เปิดปั๊ม");
    digitalWrite(RELAY_PIN, HIGH);
    pumpOn = 1;
    for (int i = 0; i < 6; i++) {
      delay(10000);
      moisture = readSensor();
      if (moisture < WET_LEVEL) break;
    }
    digitalWrite(RELAY_PIN, LOW);
  }

  sendToWeb(moisture, pumpOn, battery);
  esp_sleep_enable_timer_wakeup(30 * 60 * 1000000ULL);
  esp_deep_sleep_start();
}

void loop() {}

int readSensor() {
  int total = 0;
  for (int i = 0; i < 5; i++) { total += analogRead(CAP_PIN); delay(5); }
  return total / 5;
}

float readBattery() {
  // Voltage Divider R1=100K, R2=33K -> Vout = Vin * 33/(100+33)
  int raw = analogRead(BATT_PIN);
  return (raw / 4095.0) * 3.3 * 4.03;
}

void sendToWeb(int m, int p, float b) {
  if (WiFi.status() != WL_CONNECTED) return;
  HTTPClient http;
  http.begin(api_url);
  http.addHeader("Content-Type", "application/x-www-form-urlencoded");
  http.addHeader("X-API-Token", api_token);
  String body = "moisture=" + String(m) + "&pump=" + String(p) + "&battery=" + String(b, 2);
  http.POST(body);
  http.end();
}

เว็บแอปแสดงผล

https://bc221.duckdns.org/watering/

หนาเว็บแสดง: 4 Stats Cards, กราฟแท่ง 48 รายการ, แถบ Moisture ปจจุบัน, ตารางประวัติ, สีเปลี่ยนตามคา — ESP32 สง POST ทุก 30 นาที

การติดตั้งจริง

  1. ถังน้ำ — วางบนพื้น ปิดฝา เจาะรู 2 รู: รูใสปั๊ม (Cable Gland PG7), รูเติมน้ำ
  2. แบตมอเตอรไซค 12V — วางขางถังน้ำ ดานลาง ใกลปั๊ม (สายไฟสั้น, ปลอดภัย, ถวงน้ำหนัก)
  3. ปั๊ม — วางในถังหรือขางถัง ตอทอ PU 6mm ขึ้นไปตามเสากระถาง 2 เมตร
  4. Capacitive Sensor — เสียบดินเฉียง 45 ลึก 5-7 ซม.
  5. ESP32 + Relay + Step Down — ใสกลองกันน้ำ IP65 ติดที่เสาใกลกระถาง
  6. Float Switch — ใสในถัง ถาน้ำแหงจะตัดปั๊มอัตโนมัติ
  7. Check Valve — ตอทอปากปั๊ม กันน้ำไหลยอน

Prompt สำหรับสร้างรูปด้วย Gemini (หรือ AI Image Generator)

คัดลอก prompt ด้านล่างไปใช้สร้างภาพประกอบระบบรดน้ำอัตโนมัติ:

"Create a clean technical illustration of an automatic plant watering system for a hanging pot at 2 meters height. The scene shows:

1. A hanging plant pot at 2m high with a Capacitive Soil Moisture Sensor inserted into the soil (45 degree angle)
2. A water tank on the ground with a lid, containing a 12V diaphragm pump with float switch
3. A 12V motorcycle battery placed next to the water tank on the ground
4. PU tube running from the pump up 2m to the pot, ending in a drip emitter
5. An ESP32 board + relay module + step down converter inside a small IP65 waterproof box attached to the pole near the pot
6. Wires connecting: battery -> ESP32 box -> pump -> sensor

Style: Clean blueprint/diagram style, green and blue color scheme, labeled components, arrows showing water flow direction and data flow (WiFi signal to a web dashboard), Thai labels with prices. Modern IoT gardening aesthetic, dark background with neon green/cyan accents."

(For Gemini: use this as image generation prompt. For other AI: adjust as needed)

วิธีใช้: สง prompt นี้ไปที่ Gemini (หรือ AI รูปอื่นๆ) เพื่อใหสรางภาพประกอบระบบ — จะไดภาพที่ตรงกับอุปกรณและ Layout ในบทความนี้

หมายเหตุ: เนื้อหานี้คนควาและเรียบเรียงโดย Hermes AI — ราคาอาจเปลี่ยนแปลงตามเวลา ควรตรวจสอบ Spec อุปกรณจริงกอนซื้อ

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