กลับไปหน้ารวมไฟล์
integrated-home-irrigation-system-9783df.md

แรงบันดาลใจ:

ตั้งแต่ผมจบจากมหา'ลัยมาเนี่ย ก็ 24 ปีแล้วว่ะน้อง ยังไม่ได้อัพเดตความรู้เรื่องอิเล็กทรอนิกส์, การเขียนโปรแกรม หรือแอปพลิเคชันบนแพลตฟอร์ม Android เลยสักครั้ง อยากจะตามเทคโนโลยีให้ทัน เลยตัดสินใจทำโปรเจคนี้ขึ้นมา เป้าหมายคือได้ทั้งความรู้ และได้ของใช้ในบ้านที่ช่วยประหยัดน้ำ เป็นมิตรกับสิ่งแวดล้อมด้วย เลยออกแบบระบบรดน้ำต้นไม้ต้นทุนต่ำโดยใช้เทคโนโลยีโอเพ่นซอร์ส แรงบันดาลใจมาจากโปรเจคของ Mayooh Girish ที่โพสต์ไว้ในเว็บ Arduino นั่นแหละ

อุปสรรคหลักที่เจอ:

  • ต้องบูรณาการบอร์ดอิเล็กทรอนิกส์, อุปกรณ์ต่างๆ, ซอฟต์แวร์ และฮาร์ดแวร์เข้าด้วยกัน โดยใช้งบน้อยที่สุด
  • ทำให้ทุกขั้นตอนสนุกเหมือนได้เล่นใหม่ๆ เป็นงานอดิเรกชิ้นใหม่
  • ออกแบบให้ปลอดภัยทั้งต่อคน, สิ่งแวดล้อม และตัวทรัพย์สินเองด้วย
อธิบายคร่าวๆ

มันทำงานยังไง?

ระบบรดน้ำนี้สามารถควบคุมได้จาก:

  • ปุ่มกด (Push Button) แบบโลคัล
  • คีย์แพด (Keypad) แบบโลคัล
  • สมาร์ทโฟนผ่านแอป Android GUI

สามารถรันได้ในโหมด โลคัล, รีโมท และ แมนนวล, ออโต้

ถ้าเลือกโหมดโลคัล ก็สามารถเปิด/ปิดโซลินอยด์วาล์วจากปุ่มกดหรือคีย์แพดผ่านปุ่มที่กำหนดไว้ได้เลย หรือจะตั้งช่วงเวลา (นาที) ที่ต้องการให้รดน้ำ แล้วรีเซ็ตก็ได้ ถ้าชอบควบคุมเองแบบเรียลไทม์ก็เลือกโหมดแมนนวลไปเลย

พอสั่ง "เปิดวาล์ว" แล้ว ก็จะเห็นข้อมูลเกี่ยวกับอัตราการไหลและสถานะระบบบนจอ LCD นะ ผมติดตั้งโฟลว์มิเตอร์ราคาถูกในท่อ มันจะส่งพัลส์ไปที่อินพุตของบอร์ด Arduino

ทิปเด็ด: ก่อนจะกำหนดช่วงเวลาในคีย์แพดและโค้ด Arduino สิ่งที่สำคัญมากคือต้องทำการ "วัดอัตราการไหลคงที่ (static flow measurement)" ของแหล่งน้ำก่อน แนะนำให้ใช้ถังพลาสติกที่มีขีดบอกลิตร แล้วจับเวลาด้วยนาฬิกาหรือแอปจับเวลาบนมือถือเลย

สำหรับโหมดรีโมท ผมพัฒนาขึ้นมาเป็นแอปที่มี GUI เชื่อมต่อสมาร์ทโฟนกับโมดูลบลูทูธของ Arduino แอปนี้พัฒนาต่อยอดมาจากแอปตัวอย่างใน Android Studio ชื่อ BluetoothChat นั่นแหละ

จาก GUI นี้ น้องสามารถอ่านข้อมูล และเขียนคำสั่งเปิด/ปิด ไปยัง Arduino และต่อไปยัง Solenoid Valve ได้เลยจ้า ง่ายมั้ยล่า!

รุ่นพี่คนนี้จะมาสอนทางลัดสำคัญ ในการทดสอบการสื่อสารบลูทูธ โดยใช้แอปตัวอย่างจาก Android Studio ที่ชื่อว่า BluetoothChat ถ้าน้องลองใช้แอปคล้ายๆ กันกับโมดูล HC-05 วิดีโอนี้จะช่วยเซฟเวลาและแรงงานน้องไปได้เยอะเลยนะ ไว้ลองดู!

UUID สำหรับ HC-05 อย่าลืมดูนะ

รายละเอียดเทคนิคแบบจัดเต็ม

Smart Botanical Life-Support suite

ระบบรดน้ำอัตโนมัติที่บาลานซ์ข้อมูลจากเซ็นเซอร์ในพื้นที่ กับการควบคุมจากสมาร์ทโฟนระยะไกล เพื่อรักษาระบบนิเวศในสวนให้สุขภาพดี

  • Distributed Moisture Analytics: ใช้เซ็นเซอร์วัดความชื้นในดินหลายตัว เพื่อตรวจสอบ "โซน" ต่างๆ ของสวน Arduino จะระบุว่าโซนไหนต้องการน้ำ โดยอิงจากค่า "Wilting Point" ที่ผู้ใช้กำหนดไว้
  • Bluetooth_Chat Command Hub: ใช้แอป Bluetooth Chat ที่ปรับแต่งเอง เพื่อให้ผู้ใช้สามารถควบคุมระบบด้วยมือได้ แอปจะแสดงเปอร์เซ็นต์ความชื้นในดินแบบเรียลไทม์ และอนุญาตให้ผู้ใช้เปิด Solenoid แต่ละตัวได้ด้วยคลิกเดียว

เรื่องของ Safety

  • Anti-Seize Solenoid Cycle: มีรูทีนในเฟิร์มแวร์ที่สั่งให้วาล์วน้ำทำงานเป็นพัลส์ 1 วินาที ทุกๆ 24 ชั่วโมง (แม้ว่าความชื้นจะสูงอยู่แล้ว) เพื่อป้องกันการสะสมของแร่ธาตุและความล้มเหลวทางกลไก

โปรเจคนี้พัฒนามาจาก WBS นี้เลย:

WBS วางแผนงานให้ดีมีชัยไปกว่าครึ่ง

พี่อธิบายไอเดียผลิตภัณฑ์แบบคร่าวๆ ให้ลูกชายฟัง เขาก็ออกแบบโลโก้ดราฟต์ให้กับต้นแบบของพี่ หลังจากนั้นพี่ก็ตัดสินใจจ้างดีไซเนอร์ เพราะในกระบวนการพัฒนาผลิตภัณฑ์ มันต้องการภาพและโลโก้ที่สื่อไอเดียได้ชัดเจน โลโก้สำหรับต้นแบบและแอปอยู่ด้านล่างนี้เลย

Product Development-Logo Design Version 3.0

ขั้นตอนมีดังนี้:

ก่อนจะเริ่มลงมือทำโปรเจค น้องต้องมี Concept และการออกแบบทางวิศวกรรมพื้นฐานของโซลูชันก่อนนะ จะได้หลีกเลี่ยงข้อผิดพลาด อุบัติเหตุ และการเสียเงินฟรีๆ ในการจัดซื้อวัสดุ

ขั้นตอนที่ 1:

ซื้อและประกอบฮาร์ดแวร์ภาคสนามตามความต้องการของไซต์งานและการออกแบบทางวิศวกรรมของน้อง:

  • สายยางและอุปกรณ์เสริม (ความยาวขึ้นอยู่กับจำนวนจุดจ่ายน้ำของน้อง)
สายยางและอุปกรณ์เสริม อย่าลืมวัดให้ดีก่อนซื้อ
  • Flow meters (ตามจำนวนไลน์รดน้ำของน้อง)
โฟลว์มิเตอร์และอุปกรณ์เสริมที่อยู่ด้านท้ายของโซลินอยด์วาล์ว
  • โซลินอยด์วาล์ว (หนึ่งตัวต่อหนึ่งโซน)

จำไว้เลยวาล์วพวกนี้มันทำงานด้วยอัตราการไหลและ/หรือความดันขั้นต่ำนะ อย่าไปใช้แบบมั่วๆ

โซลินอยด์วาล์ว - อัตราการไหลต่ำสุด: 5 ลิตร/นาที
  • ท่อพีวีซีและอุปกรณ์ต่อพ่วงขนาด 1", 3/4" และ 1/2" – ถ้ามีหลายโซน พี่แนะนำให้สร้าง PVC แมนนิโฟลด์ แล้วติดตั้ง Inspection Box ไปเลย งานจะได้เป็นระเบียบ
  • วาล์วตัดน้ำ (Cut Valve) ขนาด 3/4" เพื่อให้ง่ายต่อการแยกโซนสำหรับซ่อมบำรุงในอนาคต วาล์วนี้ควรติดตั้งอยู่ด้านหน้า (upstream) ของโซลินอยด์วาล์วแต่ละตัว
วาล์วบอลแบบตัด - ติดตั้งด้านหน้าโซลินอยด์วาล์ว
  • ฟิลเตอร์เป็นสิ่งที่ต้องติดตั้งด้านหน้าโซลินอยด์วาล์ว ห้ามขาด!
  • สปริงเกอร์ – จะใช้แบบพลาสติกธรรมดา, แบบโลหะ หรือระบบไมโครสเปรย์ก็ได้ ตามงบและความเหมาะสมของพื้นที่
สปริงเกอร์พลาสติกทั่วไปและอุปกรณ์เสริม

ขั้นตอนที่ 2:

เพื่อให้การทดสอบในสนาม การติดตั้ง และการตรวจสอบระบบทำได้ง่ายขึ้น ให้ใช้แผง PCB มาตรฐาน บัดกรี และติดตั้ง LED, ตัวต้านทาน 220 โอห์ม, HC-05 แล้วเดินสายสัญญาณสำหรับ:

สถานะ:

  • วาล์วเปิด/ปิด (บน PCB)
  • โหมดควบคุมท้องถิ่น (โดยสวิตช์เลือกบน PCB)
  • โหมดควบคุมระยะไกล (โดยสวิตช์เลือกบน PCB)

คำสั่ง:

  • เปิดวาล์ว (ปุ่มกด & คีย์แพด & แอป)
  • ปิดวาล์ว (ปุ่มกด & คีย์แพด & แอป)
  • รีเซ็ตเวลา (ปุ่มกด & คีย์แพด & แอป)
  • เวลารดน้ำอัตโนมัติ (คีย์แพด & แอป)

อินพุต/เอาต์พุตไฟเลี้ยง:

  • +5V
  • GND(-)
  • เราใช้ Power Supply หนึ่งตัวสำหรับ Arduino และอีกหนึ่งตัวสำหรับฮาร์ดแวร์อื่นๆ

โมดูลบลูทูธ HC-05

  • ขา Tx
  • ขา Rx
  • ขา Vdc
  • ขา GND
PCB สำหรับการทดสอบ ติดตั้ง และประกอบที่ง่ายขึ้น - เป็นตัวเลือกเสริม

น้องสามารถเก็บชุดฮาร์ดแวร์ทั้งหมดนี้ไว้บนเบรดบอร์ดตามที่แสดงในแผนภาพ Fritzing ก็ได้นะ ง่ายดี

ตัวแปรสำหรับโค้ด Arduino มีดังนี้:

รายงานการวัด:

  • อัตราการไหลของการรดน้ำ (แสดงบน LCD และ Serial Monitor)
  • เวลาของรอบการรดน้ำ (แสดงบน LCD และ Serial Monitor)

อินเตอร์ล็อค (ระบบล็อคความปลอดภัย):

  • อินเตอร์ล็อคตรวจสอบการไหลในไลน์ก่อนรับคำสั่งเปิด
  • อินเตอร์ล็อคลำดับการเชื่อมต่อไฟ AC
  • อินเตอร์ล็อคค่าเริ่มต้นของฟิลด์เอาต์พุต
  • อินเตอร์ล็อคการรีเซ็ตฟิลด์เอาต์พุตเมื่อ Arduino Board รีเซ็ต

จำเป็นต้องกำหนดตัวแปรสำหรับโค้ด Arduino ดังนี้:

รายงานการวัด:

  • อัตราการไหลของการรดน้ำ (แสดงบน LCD และ Serial Monitor)
  • เวลาของรอบการรดน้ำ (แสดงบน LCD และ Serial Monitor)

ทริกเกอร์ความปลอดภัยอัตโนมัติในโปรแกรม:

  • คุณภาพของสัญญาณ
  • โหมดการทำงานที่ไม่ได้กำหนด
  • เวลารดน้ำเกินพารามิเตอร์ที่ตั้งไว้
  • กลไกหยุดทำงานฉุกเฉิน

ขั้นตอนที่ 3: การเชื่อมต่อระบบ

เชื่อมต่อและบูรณาการฮาร์ดแวร์ไฟฟ้าและอิเล็กทรอนิกส์ทั้งหมด ทีละอุปกรณ์ แล้วเริ่มทดสอบแบบแยกส่วน คำแนะนำด้านความปลอดภัยมีดังนี้:

  • ควรล็อคไม่ให้ส่งสัญญาณไปยังสนาม - น้ำต้องไม่ไหลเปลือง
  • ควรล็อคไม่ให้อุปกรณ์ AC ทำงาน - ตรวจสอบให้ชัวร์ว่ามีไฟ/ไม่มีไฟ
  • ข้อความบน Serial Monitor มีประโยชน์มากสำหรับการแก้ปัญหาและวินิจฉัยข้อบกพร่อง
  • การใส่ดีเลย์หลังฟังก์ชันสำคัญๆ เป็นสิ่งสำคัญเพื่อติดตามการทำงานที่ถูกต้อง
  • ต้องมีแผนสำรองชัดเจนก่อนอัปโหลดซอฟต์แวร์ลง Arduino เช่น ฟิวส์ AC, กลไกตัดการเชื่อมต่อฉุกเฉิน, ถังดับเพลิง, การตรวจสอบการต่อกราวด์ และอื่นๆ อย่าประมาท สู้งานนะน้อง!
โมเดลประกอบเพื่อทดสอบภาคสนาม

ขั้นตอนที่ 4:

  • คอมไพล์และอัปโหลดโค้ดลง Arduino ไปเลยวัยรุ่น
  • เอาต์พุตไปยังภาคสนามต้องถูกบล็อกไว้ก่อน - น้ำต้องไม่ไหลเปลืองสักหยด
  • ข้อความใน Serial Monitor ช่วยได้เวลาตามบั๊กหรือเช็คระบบเร็วๆ
  • ใส่ Delay หลังฟังก์ชันสำคัญๆ บ้าง จะได้ตามงานง่ายๆ ว่ามันทำงานถูกต้องไหม
อัปโหลดโค้ดลง Arduino Mega - สัญญาณเอาต์พุตไปยังอุปกรณ์ภาคสนามถูกบล็อก

ขั้นตอนที่ 5:

ทดสอบและปรับแต่งฮาร์ดแวร์ภาคสนาม อิเล็กทรอนิกส์ และซอฟต์แวร์

ขั้นตอนที่ 6:

มาปรับแต่ง GUI ฝั่งจอแสดงผลกัน สนุกแน่ๆ

ขั้นตอนที่ 7:

พัฒนาแอปให้รองรับจำนวนโซน (Zone) ของระบบ แล้วอัปโหลดแอปจาก Android Studio ลงสมาร์ทโฟนของเรา ในเคสนี้เรามีแค่โซนเดียวให้ควบคุม แต่มันขยายไปถึง "n" โซนได้หมดเลย

ขั้นตอนที่ 8:

ทดสอบและปรับแต่งฮาร์ดแวร์ภาคสนาม อิเล็กทรอนิกส์ และซอฟต์แวร์ เทียบกับ GUI บนสมาร์ทโฟน คราวนี้แหละของจริง

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x bluetoothchat"
  - "1x ecoriego"
author: "hbolanos2001"
category: "Home & Automation"
components:
  - "10x Resistor 221 ohm"
  - "1x Arduino Mega 2560"
  - "1x solenoid valve"
  - "1x Android device"
  - "1x Standard LCD - 16x2 White on Blue"
  - "1x Pushbutton switch 12mm"
  - "1x Soldering iron (generic)"
description: "ใช้มือถือสั่งงานได้ชิลๆ จัดการสวนแบบไม่ต้องก้ม ไม่เมื่อยหลัง ประหยัดน้ำสุดๆ ระบบ Green-cheap ตึงๆ สำหรับวัยรุ่นสายบ้านๆ"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX18oZN0Et7YjaXq1jqP6izrNvdiTZ7XyuQrSb0n965nDau8HyAMuKZXR+PxJzukVDbc7BPnYkSYAat4B7rHq7GQF7rj4BrkIqQiktkpQ8aZhJ9wOkLRaT92j"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/integrated-home-irrigation-system-9783df_cover.jpg"
lang: "en"
likes: 15
passwordHash: "9d32067c0f760ce8fb3cec68a4eca25100593b5a9fc90d70b1b1bfbf3aabbb6e"
price: 2450
seoDescription: "Build an Integrated HOME Irrigation System using smartPhone and Arduino. Save water and effort with this eco-friendly project."
tags:
  - "home automation"
  - "sustainability"
  - "garden"
title: "ระบบรดน้ำอัตโนมัติในบ้าน งานง่ายแต่หล่อ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/z1xUTJF3egU"
  - "https://www.youtube.com/embed/dznwe-MK1KQ"
  - "https://www.youtube.com/embed/z1xUTJF3egU"
views: 10400