สร้างระบบรดน้ำต้นไม้ผ่าน Wi-Fi ด้วย Raspberry Pi Pico W (The Thirsty Pi)

บอกลาปัญหาต้นไม้ตายเพราะลืมรดน้ำ!

สารภาพมาเถอะครับว่าเราทุกคนเคยทำต้นไม้ตายคาบ้าน! คุณอาจจะซื้อต้นเฟิร์นสวยๆ มา ตั้งใจว่าจะดูแลอย่างดี แต่พอไปเที่ยวต่างจังหวัดแค่เสาร์อาทิตย์เดียว กลับมาอีกทีใบก็กรอบเป็นมันฝรั่งทอดซะแล้ว

ผมเบื่อกับความรู้สึกผิดนี้เต็มที เลยตัดสินใจแก้ปัญหาแบบวิศวกรจัดเต็มด้วยการสร้าง "The Thirsty Pi" ขึ้นมาครับ มันไม่ใช่แค่ปั๊มน้ำตั้งเวลาธรรมดานะ แต่มันคือศูนย์กลางดูแลต้นไม้อัจฉริยะ (Smart Garden Hub) ที่ทำงานอัตโนมัติ 100% ขับเคลื่อนด้วยบอร์ด Raspberry Pi Pico W มันสามารถวัดความชื้นในดิน คำนวณอุณหภูมิห้องแบบ Real Feel และรดน้ำต้นไม้ให้ในเวลาที่เหมาะสมเป๊ะๆ แถมยังมีหน้า Web Dashboard ให้คุณกดสั่งรดน้ำด้วยมือจากบนโซฟาได้อีกต่างหาก!

The Thirsty Pi Smart Watering Hub
View more (ดูรูปภาพเครื่องและหน้าจอวิเคราะห์)

ผมออกแบบกล่อง 3D Print เฉพาะสำหรับโปรเจกต์นี้ เพื่อให้มันดูสวยงามเหมือนอุปกรณ์ Smart Home ระดับโปร ไม่ใช่เป็นแค่กองสายไฟทดลองวิทยาศาสตร์รกๆ ครับ

Thirsty Pi Enclosure Thirsty Pi Analytics

อุปกรณ์และเครื่องมือที่ต้องใช้ (Hardware & Tools)

ชิ้นส่วนทั้งหมดที่ใช้ในโปรเจกต์นี้มีดังนี้ครับ:

  • บอร์ดไมโครคอนโทรลเลอร์ Raspberry Pi Pico W
  • บอร์ดขับมอเตอร์ (Motor Driver) L293D หรือ DRV8871
  • ปั๊มน้ำจิ๋ว 6V DC พร้อมสายยางซิลิโคน
  • เซ็นเซอร์วัดอุณหภูมิและความชื้น DHT11 หรือ DHT22
  • เซ็นเซอร์วัดความชื้นในดิน (แบบ Analog หรือ Capacitive)
  • (ทางเลือก) แบตเตอรี่ 18650, โมดูลวัดแรงดันไฟ (Voltage Sensor), สวิตช์ Rocker Switch
  • หัวชาร์จไฟผนัง USB 5V มาตรฐาน
  • ชุดให้น้ำหยด (Irrigation kit)
  • เครื่องมือและซอฟต์แวร์: 3D Printer, Autodesk Fusion, Thonny IDE (สำหรับเขียน MicroPython)

💡 ทริคเพิ่มเติม: หากคุณกำลังมองหาบอร์ด Raspberry Pi Pico W, เซ็นเซอร์ความชื้น, มอเตอร์ปั๊มน้ำ หรือต้องการใช้ บริการ 3D Printing สำหรับทำเคสสวยๆ ของโปรเจกต์นี้ สามารถเข้าไปสั่งทำและซื้ออุปกรณ์ครบจบในที่เดียวได้ที่ https://openlink.co/globalbyte เลยครับ!

Step 1: แยก "สมอง" ออกจาก "กล้ามเนื้อ" (การต่อสายมอเตอร์)

คำเตือน: ห้ามต่อไฟเลี้ยงมอเตอร์ปั๊มน้ำเข้ากับขาพินของบอร์ด Pico โดยตรงเด็ดขาด! มอเตอร์กินไฟจุมากและมีคลื่นรบกวน (Noise) ซึ่งจะทำให้ไมโครคอนโทรลเลอร์ของคุณไหม้ได้ทันที เราจึงต้องใช้บอร์ด L293D Motor Driver มาเป็นตัวกั้น (Bouncer) เพื่อแยกไฟออกจากกันครับ

  • ส่วนสมอง (ฝั่งลอจิก): ต่อขาไฟเลี้ยงลอจิกของ L293D (VCC1 หรือ 5V) เข้ากับขา VBUS ของ Pico / ต่อขาควบคุม: ENA เข้า GP10, IN1 เข้า GP8 และ IN2 เข้า GP9
  • ส่วนกล้ามเนื้อ (ฝั่งพลังงาน): ต่อไฟเลี้ยงมอเตอร์ของ L293D (VCC2 หรือ VMOTOR) เข้ากับสายขั้วบวกของรางถ่าน 6V โดยตรง / และต่อปั๊มน้ำเข้ากับขา OUT1 และ OUT2
  • กฎเหล็ก (The Golden Rule): คุณ "ต้อง" ต่อสาย GND ของบอร์ด Pico, GND ของรางถ่าน และ GND ของ L293D เข้าด้วยกันทั้งหมด (Common Ground) ถ้าไม่ทำแบบนี้ สัญญาณสั่งงานจากชิปจะไม่รู้เรื่องเลยครับ
Motor Wiring

Step 2: เพิ่มประสาทสัมผัสให้ระบบ (การต่อเซ็นเซอร์)

ต่อไปเราจะต่อเซ็นเซอร์สภาพแวดล้อม เพื่อให้บอร์ด Pico รู้ว่าดินแห้งแค่ไหนแล้ว

  • DHT11 (อุณหภูมิ/ความชื้นอากาศ): ต่อ VCC เข้า 3V3 ของ Pico, GND เข้า GND, และขา Data เข้า GP14
  • เซ็นเซอร์วัดความชื้นในดิน: ต่อ VCC เข้า 3V3, GND เข้า GND, และขา Analog Output (A0) เข้า GP27 (ADC1)
  • (ทางเลือก) เซ็นเซอร์วัดแรงดันไฟ: ถ้าอยากเช็คแบตเตอรี่ ให้ต่อเข้ากับขา GP28 (ADC2)
View more (ดูรูปภาพการต่อวงจรเซ็นเซอร์เพิ่มเติม)
Sensor Wiring Pico Board Wiring

Step 3: การสร้างเคสด้วย 3D Printer และทริคกันน้ำ

วงจรอิเล็กทรอนิกส์กับดินเปียกๆ เป็นศัตรูคู่อาฆาตกันครับ ตอนแรกผมกะจะจับยัดใส่กล่องทัพเพอร์แวร์ แต่มันไม่สวยเวลาวางบนชั้น ผมเลยใช้โปรแกรม Fusion 360 ออกแบบกล่องเคส (Enclosure) ขึ้นมาใหม่ให้พอดีเป๊ะ มีเสารองบอร์ด มีช่องร้อยสายไฟ และปิดมิดชิดกันน้ำกระเด็นใส่สมองกล

ทริค Drip Loop (สายไฟหยดน้ำ): เวลาคุณร้อยสายไฟออกจากกล่อง 3D อย่าดึงตึงครับ ให้จัดสายไฟให้โค้งหย่อนลงมาเป็นตัว "U" ก่อนที่จะลากขึ้นไปหาต้นไม้ เพราะธรรมชาติน้ำจะไหลลงตามสายไฟ ถ้ามีน้ำหยด มันจะไหลไปรวมที่ก้นตัว U แล้วหยดลงพื้นแทนที่จะไหลเข้าไปช็อตในกล่องวงจรสุดสวยของคุณ!

3D Printed Enclosure Front
View more (ดูรูปกล่องด้านหลังและลิงก์โหลดไฟล์ 3D)
3D Printed Enclosure Back

ดาวน์โหลดไฟล์ออกแบบ 3D (.f3z, .step และ .stl) เพื่อนำไปสั่งพิมพ์เองได้ที่ลิงก์ GitHub ท้ายบทความครับ

Step 4: การเขียนโค้ดแบบฉลาดๆ (Non-blocking Web Server)

ผมเขียนลอจิกด้วยภาษา MicroPython ความท้าทายที่สุดคือเรื่อง Web Server ครับ ปกติแล้วถ้าเราสั่งให้บอร์ด Pico "เปิดปั๊มน้ำแล้วหน่วงเวลา (Sleep) 3 วินาที" บอร์ดมันจะค้างไปเลย! ถ้าคุณพยายามกดโหลดหน้า Web Dashboard ในช่วง 3 วินาทีนั้น หน้าเว็บจะล่มทันที

วิธีแก้คือ ผมเขียนลอจิกแบบ "Non-blocking state machine" ให้บอร์ด Pico ทำตัวเหมือนคนตั้งนาฬิกาปลุก คือสั่งเปิดปั๊ม -> ตั้งปลุก 3 วินาที -> แล้วรีบกลับไปจัดการหน้าเว็บและเก็บข้อมูลต่อทันที พอครบ 3 วินาทีสัญญาณปลุกดัง ค่อยหันไปปิดปั๊ม ผลลัพธ์คือแดชบอร์ดที่โหลดเร็วปรู๊ดปร๊าดและไม่มีวันค้างครับ!

วิธีอัปโหลดโค้ด: เปิดโปรแกรม Thonny สร้างไฟล์ main.py บนบอร์ด Pico W จากนั้นคัดลอกโค้ดจาก GitHub มาวาง แก้ไข <WIFI_SSID> และ <WIFI_PASSWORD> ให้ตรงกับเน็ตบ้านคุณ กด Save แล้วกด Run ได้เลย (บอร์ดจะโชว์ IP Address ในคอนโซลให้เราเอาไปพิมพ์ในเว็บบราวเซอร์ครับ)

View more (ดูกล่องโหลดโค้ด / Copy Command)

คุณสามารถดาวน์โหลดหรือโคลน Source Code ทั้งหมดได้จาก GitHub ของผู้เขียนโปรเจกต์ครับ:

git clone https://github.com/jeevan8232/TheThirstyPi.git
Thonny IDE Code

Step 5: หน้าแดชบอร์ดควบคุม และโหมดกระบองเพชร (Cactus Mode)

หยิบมือถือขึ้นมา พิมพ์ IP Address ลงในบราวเซอร์ ยินดีต้อนรับสู่ศูนย์บัญชาการต้นไม้ของคุณครับ! จากหน้านี้คุณสามารถทำได้หลายอย่างเลย:

  • ดูค่าสดๆ (Real-time metrics): โชว์ความชื้นดิน อุณหภูมิ และความชื้นอากาศ
  • สั่งงานด้วยมือ (Manual Override): กดปุ่มสีฟ้า WATER หรือปุ่มแดง STOP ได้เหมือนใช้รีโมททีวี
  • โหลดประวัติ (Download Logs): กดปุ่มนี้เพื่อโหลดไฟล์ .csv เก็บประวัติสภาพแวดล้อมต้นไม้มาวิเคราะห์ต่อ
  • โหมดจับเวลา (Timer Mode / Cactus Mode): ในกล่องตั้งค่าด้านล่าง คุณสามารถสลับระหว่างโหมด Smart Mode (รดน้ำตามความชื้นดิน) หรือ Timer Mode (รดน้ำตามเวลาโดยไม่ต้องสนเซ็นเซอร์ดิน) โหมด Timer นี้คือพระเอกสำหรับต้นกระบองเพชรหรือพืชอวบน้ำที่ต้องการให้ดินแห้งสนิทเกือบทั้งสัปดาห์ครับ!
Mobile Dashboard 1
View more (ดูรูปหน้าจอมือถือและ Web Dashboard เพิ่มเติม)
Mobile Dashboard 2 Mobile Dashboard 3 Mobile Dashboard 4 Web Dashboard

Step 6: เก็บกระเป๋าเที่ยวได้เลย!

ติดตั้งสายยางรดน้ำ หาเหยือกน้ำใบใหญ่ๆ หรือโหลแก้วมาทำเป็นแท็งก์สำรองน้ำ แล้วเสียบปลั๊ก USB จ่ายไฟให้บอร์ด Pico ได้เลย สคริปต์จะบูตขึ้นมาทำงานอัตโนมัติทันทีที่ได้รับไฟ

แค่นี้คุณก็มีระบบรดน้ำอัจฉริยะเกรดการค้าที่สร้างขึ้นมาด้วยสองมือของตัวเองแล้วครับ ทีนี้จะจองตั๋วไปเที่ยวพักผ่อนสุดสัปดาห์ก็ไปได้แบบสบายใจ เพราะต้นไม้ของคุณอยู่ในการดูแลของ The Thirsty Pi แล้ว!

Thirsty Pi in Action

ดาวน์โหลดไฟล์โปรเจกต์ (Custom parts and files)

สามารถดาวน์โหลดไฟล์ 3D โมเดล (Enclosures), แผนผังวงจร (Schematics) และซอร์สโค้ดโปรแกรมทั้งหมดไปลุยต่อกันได้ที่ลิงก์ด้านล่างนี้เลยครับ:

สร้างระบบ Smart Home & IoT ของคุณเอง!

อยากทำโปรเจกต์แก้ปัญหาในบ้านแบบนี้บ้าง หรือกำลังมองหาบอร์ดพัฒนาเพื่อนำไปต่อยอด แวะมาพูดคุยและหาของเล่นสาย Tech กับเราได้เลยครับ!

คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา โปรดอ้างอิงข้อมูลการเดินวงจรและโค้ดโปรแกรมอย่างละเอียดจากต้นฉบับ
อ้างอิงจาก (References):

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี