สร้างเรือดำน้ำอัตโนมัติ (Autonomous Submarine) นำทางด้วยการตรวจจับสี!

ปกติแล้วเวลาเราพูดถึง "ยานพาหนะอัตโนมัติ" ในวงการนักประดิษฐ์และ Maker ส่วนใหญ่เรามักจะคุ้นเคยกับโปรเจกต์โดรนบินบนฟ้า หรือรถโรเวอร์วิ่งบนบกกันซะมากกว่าใช่มั้ยครับ? โปรเจกต์ "เรือดำน้ำ (Submarine)" นั้นถือว่าหาดูได้ยากกว่ามาก เหตุผลหลักๆ ก็เพราะความซับซ้อนทางเทคนิค โดยเฉพาะเรื่องการซีลกันน้ำ และการสื่อสารสัญญาณที่ทำได้ยากเมื่ออยู่ใต้น้ำ

แต่ข้อจำกัดเหล่านั้นก็หยุดนักประดิษฐ์ไม่ได้ครับ! วันนี้เราจะพาไปดูโปรเจกต์ของคุณ Ayman ผู้ที่สร้างเรือดำน้ำที่ใช้เทคนิคพื้นฐานในการนำทางใต้น้ำได้อย่างน่าประทับใจ และที่สำคัญคือมันสามารถขับเคลื่อนหลบหลีกสิ่งกีดขวางได้เองด้วย!

เรือดำน้ำอัตโนมัติ Raspberry Pi 4 x ESP32
ภาพปก: หน้าตาของเรือดำน้ำอัตโนมัติทรงท่ออะคริลิกใส

เจาะลึกโครงสร้างและฮาร์ดแวร์

เรือดำน้ำลำนี้ใช้เทคนิคการสร้างแบบฉบับ DIY ยอดฮิต โดยใช้ ท่ออะคริลิกใส (Clear acrylic tube) เป็นตัวถังหลัก (Body) ของเรือ และมีการซีลปิดผนึกอย่างแน่นหนาเพื่อป้องกันน้ำเข้า นอกจากนี้ยังมีทริคเด็ดๆ อย่างการใช้ระบบ "ข้อต่อแม่เหล็ก (Magnetic coupling)" ในการเชื่อมต่อแกนมอเตอร์เข้ากับใบพัดขับเคลื่อน ซึ่งช่วยแก้ปัญหาน้ำรั่วซึมเข้าทางแกนมอเตอร์ได้อย่างหมดจด

ทีนี้เรามาดู "สมองกล" ที่อยู่ภายในท่อกันบ้างครับ จัดเต็มสุดๆ:

  • บอร์ดประมวลผลหลัก: ใช้บอร์ด Raspberry Pi 4
  • ดวงตาของเรือ: ติดตั้งกล้องมุมกว้าง Arducam IMX708 สำหรับมองเห็นใต้น้ำ
  • เซนเซอร์ตรวจจับการเคลื่อนไหว: ใช้เซนเซอร์ IMU เบอร์ BNO085
  • เซนเซอร์วัดความดัน: ใช้ BMP280 ถึง 2 ตัวเพื่อคอยเช็คความดันและสถานะต่างๆ ของเรือดำน้ำ
  • การขับเคลื่อน: ใช้บอร์ดขับมอเตอร์ DRV8833 ควบคุมมอเตอร์ขับเคลื่อนหลัก
💡 Globalbyte Soft-sell: หากเพื่อนๆ อ่านสเปคแล้วคันไม้คันมือ อยากลองเอาบอร์ด Raspberry Pi ไปลองต่อยอดร่วมกับ ESP32, โมดูลกล้อง หรือเซนเซอร์ต่างๆ (อย่าง IMU และเซนเซอร์วัดความดัน) ร้าน Globalbyte ของเรามีบอร์ดและเซนเซอร์อิเล็กทรอนิกส์คุณภาพดีเตรียมไว้ให้คุณครบจบในที่เดียวเลยครับ!

หน้าที่ของ ESP32 และระบบดำน้ำ (Ballast System)

นอกจากบอร์ด Raspberry Pi แล้ว โปรเจกต์นี้ยังมีไมโครคอนโทรลเลอร์ ESP32 คอยเป็นผู้ช่วยจัดการงานยิบย่อยด้วยครับ เช่น การควบคุมมอเตอร์, ควบคุมเซอร์โวมอเตอร์สำหรับเลี้ยวทิศทาง และที่สำคัญที่สุดคือควบคุม "ถังอับเฉา (Ballast control)" สำหรับการดำลงและลอยขึ้นผิวน้ำ

ระบบถังอับเฉานี้ถูกสร้างขึ้นอย่างสร้างสรรค์ด้วย สลิงค์ฉีดยาขนาด 5 mL จำนวน 2 อัน โดยใช้มอเตอร์เกียร์แบบแรงบิดสูง (High-torque gear motors) คอยดึงก้านสลิงค์เข้า-ออก เพื่อดูดและปล่อยน้ำเข้าเรือ เป็นการปรับสมดุลนั่นเองครับ ส่วนเรื่องการสื่อสารสัญญาณไร้สาย (Wi-Fi) เขาได้ทำ ทุ่นสายอากาศ (Antenna buoy) ลอยไว้บนผิวน้ำ เพื่อให้ยังสามารถสื่อสารกับเรือได้เมื่อเรืออยู่ในระยะ

ระบบนำทางอัตโนมัติด้วยการแยกแยะ "สี"

ฟีเจอร์เด็ดของเรือลำนี้คือ "โค้ดการนำทางอัตโนมัติ" ครับ คุณ Ayman ได้เขียนระบบการหลบหลีกสิ่งกีดขวางแบบง่ายๆ (Object avoidance) โดยใช้ภาพจากกล้อง Raspberry Pi Pi

แทนที่จะใช้ค่าสีแบบ RGB โค้ดนี้เลือกใช้ค่า HSV (Hue, Saturation, Value) เพื่อติดตามและแยกแยะวัตถุสีเฉพาะเจาะจงใต้น้ำ ซึ่งในทางปฏิบัตินั้น ค่า HSV มีความเสถียรมากกว่า เพราะมันสามารถแยกแยะสีได้ดีเยี่ยมแม้ว่าความสว่างของแสงใต้น้ำจะเปลี่ยนแปลงไปมา (Brightness-independent) ครับ

⚠️ คำเตือนเรื่องความซับซ้อน: โปรเจกต์ที่เกี่ยวกับการลงน้ำและการซีลอุปกรณ์อิเล็กทรอนิกส์ (Water-proofing) มีความเสี่ยงสูงที่ฮาร์ดแวร์จะเสียหายหากทำไม่ถูกวิธี หากใครสนใจอยากสร้างตาม แนะนำให้เข้าไปอ่านและศึกษาตัวต้นฉบับอย่างละเอียดที่เว็บ Instructables นะครับ

บทสรุปและโปรเจกต์แรงบันดาลใจ

แม้ว่าในอดีตเราอาจจะเคยเห็นโปรเจกต์ที่ใช้เทคนิคการสร้างในลักษณะใกล้เคียงกันมาบ้าง แต่การได้เห็นเรือดำน้ำแบบโปร่งใสแหวกว่ายผ่านมวลน้ำแบบอัตโนมัติ ก็ยังคงเป็นภาพที่น่าตื่นเต้นเสมอครับ และมันก็อดไม่ได้ที่จะทำให้เรานึกย้อนไปถึงโปรเจกต์ Open Source Underwater Glider ที่ชนะรางวัล Hackaday Prize ปี 2017 เช่นกัน

🚀 อยากเริ่มลงมือทำโปรเจกต์เจ๋งๆ หรือเปล่า?

มองหาบอร์ดทดลอง เซนเซอร์ และโมดูลอิเล็กทรอนิกส์ ไว้สร้างยานยนต์หรือระบบอัตโนมัติของคุณเอง เข้ามาเลือกช้อปกับเราได้เลย!

คำเตือน / ข้อมูลอ้างอิง: บทความนี้เป็นการสรุปและเรียบเรียงเนื้อหาจากภาษาอังกฤษ หากเพื่อนๆ ต้องการลงมือทำจริง แนะนำให้ตรวจสอบรายละเอียดเชิงวิศวกรรม รวมถึงเทคนิคการประกอบเพิ่มเติมที่เว็บไซต์ต้นฉบับก่อนเพื่อความปลอดภัยของอุปกรณ์อิเล็กทรอนิกส์ครับ

ที่มาต้นฉบับ: Autonomous Submarine Relies On Color Detection (Hackaday)

แท็ก


Blog posts

เข้าสู่ระบบ

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

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