สร้างระบบรดน้ำต้นไม้อัตโนมัติด้วย ESP32 + MQTT

28/04/2026
สร้างระบบรดน้ำต้นไม้อัตโนมัติด้วย ESP32 + MQTT

โปรเจค IoT ที่ทำง่ายและใช้ได้จริงที่สุดอย่างหนึ่งคือระบบรดน้ำต้นไม้อัตโนมัติ ใช้ ESP32 อ่านค่าความชื้นในดิน เมื่อแห้งเกินกำหนดจะเปิดปั๊มน้ำผ่าน relay พร้อมส่งข้อมูลขึ้น cloud ผ่าน MQTT เพื่อดูได้จากมือถือ

อุปกรณ์ที่ต้องใช้

  1. ESP32 DevKit — ตัวควบคุมหลัก
  2. Soil Moisture Sensor (capacitive type แนะนำ ทนกว่า resistive) — วัดความชื้น
  3. Relay Module 5V single channel — ควบคุมปั๊ม
  4. Mini Water Pump 5V (DC pump submersible)
  5. ท่อ silicone ขนาด 6mm
  6. Power Supply 5V 2A
  7. กล่องพลาสติกกันน้ำ

วงจร wiring

  • Soil Moisture Sensor: VCC → 3.3V, GND → GND, AOUT → GPIO34 (ADC pin)
  • Relay Module: VCC → 5V, GND → GND, IN → GPIO26
  • Water Pump: ขั้วบวก → COM ของ relay, NO ของ relay → 5V บวก, ขั้วลบ → GND
  • ใช้ระบบ external power สำหรับปั๊ม อย่าจ่ายจาก ESP32 โดยตรง

โครงร่างโค้ด (Arduino IDE)
ขั้นที่ 1: install library ที่จำเป็น — WiFi.h (มาในตัว), PubSubClient.h (สำหรับ MQTT)
ขั้นที่ 2: ตั้งค่า WiFi credentials และ MQTT broker (แนะนำ HiveMQ Cloud หรือ Mosquitto)
ขั้นที่ 3: ใน setup() เชื่อม WiFi และ MQTT broker
ขั้นที่ 4: ใน loop() ทุก 30 วินาที อ่านค่าความชื้นจาก GPIO34 → map ค่าเป็น 0-100% → ถ้าต่ำกว่า threshold (เช่น 30%) → เปิด relay 5 วินาที → ปิด → ส่งข้อมูลผ่าน MQTT

หัวข้อ MQTT แนะนำ

  • garden/moisture: ส่งค่าความชื้นปัจจุบัน
  • garden/pump: ส่ง event เปิด/ปิดปั๊ม
  • garden/command: รับคำสั่งจาก app เช่น manual water

แสดงผลบนมือถือ
ใช้แอพ MQTT Dashboard (Android) หรือ IoT MQTT Panel ตั้ง widget เป็น gauge แสดงความชื้น และปุ่มกดสำหรับ manual water ใช้เวลาตั้ง 10-15 นาที พร้อมใช้งาน

อีกทางเลือก: Home Assistant
ถ้ามี Home Assistant อยู่แล้วในบ้าน เพิ่ม integration ESP32 ได้ผ่าน MQTT discovery — ระบบจะ auto-detect entity ทั้งหมด ทำ dashboard สวยๆ ได้ทันที พร้อมเชื่อมกับ Google Assistant/Alexa สำหรับสั่งด้วยเสียง

ข้อควรระวัง

  • ระบบนี้ใช้ในร่ม/ระเบียง อย่าใช้กลางแดดจัดตลอดวัน เพราะ sensor capacitive ทนได้แค่ -40 ถึง 85 องศา
  • ใช้ relay ที่มี opto-isolator เพื่อป้องกันไฟกระชากกลับเข้า ESP32
  • เปลี่ยนค่า threshold ตามชนิดต้นไม้ — กระบองเพชรใช้ 15-20%, ผัก/ดอกไม้ใช้ 30-40%, ต้นที่ชอบชื้น 50-60%
  • ตรวจระบบทุก 1-2 สัปดาห์ ทำความสะอาด sensor และตรวจรอยรั่วของท่อ

โปรเจคต่อยอด

  • เพิ่ม BME280 วัดอุณหภูมิ/ความชื้นอากาศ
  • เพิ่ม Light sensor วัดแสงเพื่อปลูกในที่เหมาะสม
  • ใช้ ESP32-CAM ถ่ายรูปต้นไม้ทุกวัน + ส่งเข้า Telegram bot
  • เพิ่ม solar panel ทำให้ระบบ off-grid

ต้นทุนทั้งระบบประมาณ 500-800 บาท คุ้มมากเมื่อเทียบกับการต้องคอยรดน้ำเอง โดยเฉพาะตอนไปเที่ยว!


บทความที่เกี่ยวข้อง

ไม่มีบทความที่เกี่ยวข้อง