เข้าใจว่า Soil Moisture, Rain, Water Level, Temperature และ Air Humidity มีบทบาทไม่เหมือนกัน
ระบบ Smart Farm ตัดสินใจเปิด–ปิดปั๊มอย่างไร?
บทนี้อธิบายตั้งแต่ Sensor ส่งข้อมูลเข้า ESP32 ไปจนถึง Automation Logic ที่ตรวจฝน ระดับน้ำ และความชื้นดิน ก่อนสั่ง Relay และปั๊มน้ำ เพื่อให้เข้าใจว่า “ปั๊มทำงานเพราะเงื่อนไขของระบบ” ไม่ใช่เพราะผู้เรียนกดปุ่มเปิดปั๊ม
LEARNING OBJECTIVES
เรียนบทนี้แล้วควรเข้าใจอะไร
จุดสำคัญไม่ใช่จำชื่ออุปกรณ์ให้ได้อย่างเดียว แต่ต้องมองเห็นว่า ข้อมูลจาก Sensor ถูกนำไปใช้ตัดสินใจอย่างไร และเหตุใดบางสถานการณ์ปั๊มจึงต้องหยุดทันที
รู้ลำดับที่ ESP32 ใช้ตรวจเงื่อนไขก่อนส่งคำสั่งไปยัง Relay และปั๊มน้ำ
ฝนตกหรือระดับน้ำไม่ปลอดภัยต้องสามารถหยุดปั๊มได้ทันที แม้เงื่อนไขอื่นต้องการน้ำ
เมื่อกดเริ่มการทดลอง สามารถอธิบายได้ว่าทำไม Pump ON หรือ Pump OFF
SYSTEM OVERVIEW
ระบบ IoT ของเราทำงานเป็นลำดับอย่างไร
ให้นึกว่าระบบเป็นสายงานหนึ่งเส้น: Sensor ทำหน้าที่ “รับรู้” ESP32 ทำหน้าที่ “คิด” และ Relay กับ Pump ทำหน้าที่ “ลงมือทำ”
Sensor → ESP32 → ตรวจเงื่อนไข → Relay → Pump → แสดงผลบน Dashboard / IoT Lab
MAIN COMPONENTS
อุปกรณ์หลักในระบบ
เซนเซอร์
วัดข้อมูลจากสภาพแวดล้อมแล้วส่งค่าให้ Controller เช่น ความชื้นดิน ฝน และระดับน้ำ
หน้าที่: รับข้อมูลESP32
ไมโครคอนโทรลเลอร์ที่อ่านค่า Sensor ตรวจเงื่อนไข และตัดสินใจว่าจะสั่งอุปกรณ์อย่างไร
หน้าที่: ประมวลผลRelay
ทำหน้าที่เหมือนสวิตช์ไฟฟ้าที่ ESP32 ใช้สั่งเปิดหรือปิดวงจรของปั๊มน้ำ
หน้าที่: สวิตช์กำลังปั๊มน้ำ
อุปกรณ์ปลายทางที่สูบน้ำจากถังไปยังท่อและหัวจ่ายน้ำเมื่อระบบอนุญาตให้ทำงาน
หน้าที่: ลงมือทำSENSOR ROLES
Sensor แต่ละตัวมีผลกับปั๊มอย่างไร
จุดนี้สำคัญมาก เพราะ Sensor ทุกตัวไม่ได้มีสิทธิ์สั่งปั๊มเท่ากัน ระบบของเราแบ่งเป็น “ตัวตัดสินหลัก”, “ตัวล็อกความปลอดภัย” และ “ข้อมูลประกอบ”
Soil Moisture
วัดความชื้นในดิน เป็นตัวหลักที่บอกว่าดินต้องการน้ำหรือมีน้ำเพียงพอแล้ว
ตัวตัดสินหลักRain Sensor
ถ้าตรวจพบฝน ระบบจะสั่งปิดปั๊มทันทีเพื่อหลีกเลี่ยงการให้น้ำซ้ำกับฝน
RAIN LOCKWater Level
ตรวจระดับน้ำในถัง หากน้ำต่ำถึงค่าความปลอดภัย ระบบจะล็อกไม่ให้ปั๊มทำงาน
WATER SAFETY LOCKTemperature
อุณหภูมิสูงทำให้การระเหยและการสูญเสียน้ำมีแนวโน้มสูงขึ้น แต่ไม่ใช้เปิดปั๊มโดยตรงใน Lab รุ่นนี้
ข้อมูลประกอบ Water DemandAir Humidity
ความชื้นอากาศต่ำมักสัมพันธ์กับการระเหยที่มากขึ้น จึงใช้ช่วยอธิบายสภาพแวดล้อมและความต้องการน้ำ
ข้อมูลประกอบ Water DemandPump Status
ไม่ใช่ Sensor แต่เป็นผลลัพธ์ของการตัดสินใจ ถ้าเงื่อนไขผ่านจึง ON ถ้ามี Lock หรือดินชื้นพอจึง OFF
ผลลัพธ์ของระบบระบบรดน้ำพื้นฐานสามารถทำงานได้โดยไม่มีสองค่านี้ แต่มีไว้เพื่อให้ผู้เรียนเข้าใจสภาพแวดล้อม และสามารถต่อยอดเป็นระบบคำนวณ Water Demand ที่ฉลาดขึ้นในอนาคต
DECISION LOGIC
ลำดับการตัดสินใจที่ถูกต้อง
ระบบไม่ควรเช็กทุกค่าแบบสุ่ม แต่ต้องจัดลำดับความสำคัญ โดย Safety Interlock ต้องมีสิทธิ์หยุดปั๊มก่อนเงื่อนไขการรดน้ำ
ถ้าฝนตก → RAIN LOCK → Pump OFF ทันทีทุกโหมด
IF rain = YES → PUMP OFF
ถ้าน้ำต่ำกว่าหรือเท่ากับ Safety Level → WATER SAFETY LOCK → Pump OFF
IF water_level ≤ safe_level → PUMP OFF
ถ้าฝนไม่ตก น้ำปลอดภัย และดินแห้งกว่าค่าที่กำหนด ระบบจึงสามารถเปิดปั๊มได้
IF soil < start_threshold → PUMP ON
เมื่อปั๊มทำงานแล้ว จะทำงานต่อจน Soil Moisture ถึง Stop Threshold หรือเกิด Hard Interlock
IF soil ≥ stop_threshold → PUMP OFF
Rain Lock → Water Safety Lock → Soil Moisture → Relay → Pump
EXAMPLE SCENARIOS
ลองอ่านสถานการณ์เหมือน ESP32
ดินแห้งและระบบพร้อมรดน้ำ
ฝนไม่ตก น้ำปลอดภัย และดินต่ำกว่า Start Threshold จึงเปิดปั๊มได้
ดินแห้ง แต่ฝนกำลังตก
RAIN LOCK มีสิทธิ์สูงกว่า Soil Moisture จึงปิดปั๊มทันทีแม้ดินยังแห้ง
ดินแห้ง แต่น้ำในถังต่ำ
Water Safety Lock ป้องกันไม่ให้ปั๊มทำงานเมื่อระดับน้ำไม่ปลอดภัย
อากาศร้อน แต่ดินยังชื้น
Temperature และ Air Humidity ไม่ใช่คำสั่งเปิดปั๊มโดยตรง ถ้าดินยังชื้นพอ ระบบไม่ควรรดน้ำเพิ่ม
ปั๊มทำงานอยู่ที่ Soil 43%
ปั๊มทำงานต่อจนถึง Stop Threshold 45% เพื่อป้องกันการเปิด–ปิดถี่
ตรวจพบฝนระหว่างที่ปั๊มกำลังทำงาน
RAIN LOCK ต้องตัดสถานะปั๊มทันที ไม่ต้องรอให้ Soil Moisture ถึง Stop Threshold
HYSTERESIS
ทำไมเกณฑ์เริ่มกับเกณฑ์หยุดต้องไม่เท่ากัน
ถ้าใช้ค่าเดียว เช่น 40% เป็นทั้งจุดเปิดและปิด ค่า Sensor ที่แกว่งอยู่แถว 39–41% อาจทำให้ปั๊มสลับ ON/OFF ถี่เกินไป จึงใช้แนวคิด Hysteresis แยกสองเกณฑ์ออกจากกัน
ตัวอย่าง: เมื่อ Soil < 40% ระบบเริ่มรดน้ำ และเมื่อเริ่มแล้วจะทำงานต่อจน Soil ≥ 45% เว้นแต่มี RAIN LOCK หรือ WATER SAFETY LOCK เกิดขึ้นก่อน
ค่า 40% และ 45% เป็นค่าจำลองสำหรับการฝึก ไม่ใช่ค่ามาตรฐานที่ใช้ได้กับพืชทุกชนิด
CONTROL MODES
AUTO กับ MANUAL ต่างกันอย่างไร
AUTO — ระบบตัดสินใจเอง
ผู้เรียนกำหนดค่าจำลอง แล้วระบบใช้เงื่อนไขที่ตั้งไว้ในการตัดสินใจว่าจะเปิดหรือปิดปั๊ม
- Rain Lock ต้องผ่าน
- Water Safety Lock ต้องผ่าน
- Soil Moisture เป็นตัวตัดสินหลัก
- เมื่อปั๊มทำงาน ใช้ Stop Threshold เป็นจุดหยุด
MANUAL — ใช้สำหรับทดสอบคำสั่ง
ผู้เรียนสามารถทดลองสั่ง Pump ON/OFF ด้วยตนเองเพื่อศึกษาการตอบสนองของระบบ แต่ยังไม่สามารถข้าม Hard Interlock ได้
- ฝนตก → RAIN LOCK → Manual ON ถูกปฏิเสธ
- น้ำต่ำ → WATER SAFETY LOCK → Manual ON ถูกปฏิเสธ
- ใช้ทดสอบการสั่ง Relay / Pump เมื่อระบบอยู่ในสภาพปลอดภัย
IOT LAB EXPERIMENT
ปุ่ม “เริ่มการทดลอง” หมายถึงอะไร
กด “เริ่มการทดลอง” ≠ กดเปิดปั๊ม
ปุ่มนี้มีหน้าที่ เริ่ม Simulation และให้ระบบตรวจเงื่อนไข หลังจากกดแล้ว ESP32 จำลองจะอ่านค่า Rain, Water Level และ Soil Moisture จากนั้น Logic จึงตัดสินใจว่า Pump ควร ON หรือ OFF
ผู้เรียนสามารถปรับค่าความชื้นดิน ฝน ระดับน้ำ และ Threshold ได้โดยที่ปั๊มยังไม่จำเป็นต้องทำงาน
ถ้าฝนไม่ตก น้ำปลอดภัย และดินต่ำกว่า Start Threshold → Pump ON
น้ำในถังลดลง ความชื้นดินเพิ่มขึ้น และ 3D จะแสดงน้ำจากหัวสปริงเกอร์เมื่อ Pump ON
ถ้าฝนเริ่มตกหรือระดับน้ำถึง Safety Level → Pump OFF โดยไม่ต้องรอ Stop Threshold
ฝนจริงตกจากด้านบนและทำให้ RAIN LOCK ส่วน “น้ำจากปั๊ม” ต้องออกจากหัวจ่ายใกล้แปลง เพื่อให้ผู้เรียนแยกสองเหตุการณ์ออกจากกันได้ชัดเจน
SUMMARY
สรุปก่อนเข้า IoT Lab
Soil Moisture
ตัวตัดสินหลักว่าดินต้องการน้ำหรือไม่
Rain
Hard Interlock — ฝนตกต้อง Pump OFF
Water Level
Safety Interlock — น้ำไม่พอต้องล็อกปั๊ม
Temperature + Air Humidity
ข้อมูลประกอบ Water Demand ไม่ใช่คำสั่งเปิดปั๊มโดยตรง
“ปั๊มไม่ได้ ON เพราะเรากดเริ่ม — ปั๊ม ON เพราะเงื่อนไขผ่าน”
นี่คือหัวใจของ Automation ในระบบ Smart Farm IoT