โปรเจค IoT ที่ทำง่ายและใช้ได้จริงที่สุดอย่างหนึ่งคือระบบรดน้ำต้นไม้อัตโนมัติ ใช้ ESP32 อ่านค่าความชื้นในดิน เมื่อแห้งเกินกำหนดจะเปิดปั๊มน้ำผ่าน relay พร้อมส่งข้อมูลขึ้น cloud ผ่าน MQTT เพื่อดูได้จากมือถือ
อุปกรณ์ที่ต้องใช้
- ESP32 DevKit — ตัวควบคุมหลัก
- Soil Moisture Sensor (capacitive type แนะนำ ทนกว่า resistive) — วัดความชื้น
- Relay Module 5V single channel — ควบคุมปั๊ม
- Mini Water Pump 5V (DC pump submersible)
- ท่อ silicone ขนาด 6mm
- Power Supply 5V 2A
- กล่องพลาสติกกันน้ำ
วงจร 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 บาท คุ้มมากเมื่อเทียบกับการต้องคอยรดน้ำเอง โดยเฉพาะตอนไปเที่ยว!