กลับไปหน้ารวมไฟล์
walter-the-arduino-photovore-insect-efbd33.md

[ขอโทษที่ภาษาอังกฤษไม่ค่อยดีนะน้อง]

พี่ชอบการเซ็ตอัพ [2 servos arduino insects] ที่ฮิตๆ ในยูทูปมากเลย เวลาดูทีไรพี่ก็นึกถึงสิ่งที่พวกนักเล่น BEAM robotics เขาทำกันมาตั้งนานก่อนที่เซ็ตอัพนี้จะดังซะอีก พวกบ้าอะนาล็อกโรบอทเนี่ย เขาทำเรื่องการเดิน (gait) ได้ดีกว่าเพราะมุมระหว่างมอเตอร์สองตัวมันดีกว่า (อย่าง [microcore / bicore walker] อะไรแบบนี้)

แต่สำหรับพี่นะ ไม่มีตัวไหนที่ดูมีชีวิตชีวามากไปกว่า [VBug1.5] (หรือที่รู้จักกันในชื่อ Walkman) ที่สร้างโดย Mark Tilden ผู้ก่อตั้งวงการ beam robotics เลย มันใช้มอเตอร์ 5 ตัว เลยมีความคล่องตัวมากกว่า

การทำ BEAM robot ง่ายๆ ไม่ใช่เรื่องยาก แต่การจะสร้างอะไรที่ซับซ้อนแบบ VBug1.5 นี่อาจจะทำให้เด็กอิเล็กฯ มือใหม่อย่างพี่ท้อได้เลย (ฮา) พอพี่ตัดสินใจจะทำอะไรแบบแมลงของ Tilden บ้าง พี่ก็เลยต้องยอมใช้แพลตฟอร์ม Arduino นี่แหละ ตัวเลือกที่ง่ายที่สุดสำหรับคนไม่ใช่วิศวะ (หรือในกรณีของพี่ ที่น่าอายหน่อย คือคนที่อยากเป็นวิศวะ)

ผลลัพธ์ก็คือ [Walter] หุ่นยนต์แมลง Arduino 4 ขา 5 เซอร์โว น้องอาจจะสงสัย ถ้าพี่อยากได้หุ่นแมลงที่ดูมีชีวิต ทำไมไม่ใช้ 8 หรือ 12 เซอร์โวไปเลยล่ะ? คำตอบคือ พี่คิดถึงสิ่งที่ง่ายที่สุดที่พี่ทำได้ เพื่อให้ได้ความคล่องตัวมากที่สุดที่พี่จะมีได้ พี่กำลังพูดถึงการใช้กาวร้อนเยอะๆ แทนการทำโครงสร้างนั่นเอง

ล้วงลึกเทคนิคแบบจัดเต็ม

  • การเดิน 5 เซอร์โว & จังหวะการเคลื่อนไหว:
    • วิศวกรรมย้อนรอยแรงขับแบบ VBug: ไม่เหมือนกับหุ่นสี่ขา 4 เซอร์โวทั่วไป WALTER ใช้เซอร์โวตัวที่ 5 เป็น "กระดูกสันหลัง" หรือตัวสร้างสัญญาณสั่นสำหรับเลี้ยว กระบวนการคือการประสานการกวาดขากับการงอของกระดูกสันหลังเพื่อให้ได้การเดินที่ลื่นไหลเหมือนแมลงมากๆ ระบบวินิจฉัยจะจัดการกับสถานะการเดินหลักสองแบบ: Tripod-Gait สำหรับความมั่นคง และ Crawl-Gait สำหรับการเคลื่อนที่ด้วยความเร็วที่ต่างกัน $(3 \text{ ระดับความเร็ว})$
    • การวินิจฉัยโครงสร้างด้วยกาวร้อน: เพื่อกำจัดน้ำหนักของโครงสร้างแข็ง เซอร์โวถูกยึดติดกันโดยตรงด้วยกาวร้อน วิธีนี้สร้างโครงกระดูกที่ยืดหยุ่นและลดแรงสั่นสะเทือน โดยที่ตัวเซอร์โวทำหน้าที่เป็นทั้งโครงสร้างและตัวขับเคลื่อน
  • การนำทางด้วยแสงและเสียง:
    • การวิเคราะห์สัญญาณแสง: พฤติกรรมการไล่แสงถูกควบคุมผ่านโฟโตไดโอด 4 ตัวที่จัดวางเป็นอาร์เรย์สี่ส่วน กระบวนการคือการวัดแรงดันไฟฟ้าต่างกันคร่อมตัวต้านทาน $100\text{k}\Omega$ pull-down ระบบวินิจฉัยจะระบุเวกเตอร์ของแสง $(\vec{L})$ และกระตุ้นจังหวะการเคลื่อนไหวเพื่อให้หุ่นยนต์เลี้ยวไปทางที่มีความเข้มแสงสูงสุด
    • การตรวจจับสิ่งกีดขวางด้วยเซ็นเซอร์ 3 ตัว: เพื่อป้องกันการชน อาร์เรย์อัลตราโซนิก 3 ตัวจะให้มุมมอง $180^{\circ}$ กระบวนการคือการคำนวณ Time-of-Flight $(\mu\text{s})$ สำหรับแต่ละเซ็นเซอร์แยกกัน ถ้าตรวจพบเวกเตอร์การชน $(d < 20\text{cm})$ พฤติกรรมสุ่ม $(q)$ จะถูกกระตุ้น ทำให้หุ่นยนต์ถอยหลังหรือหมุน $90^{\circ}$

วิศวกรรมและการลงมือทำ

  • ตรรกะการทำงานและการจัดการสายไฟ (Power-Rail Forensics):
    • การวินิจฉัยด้วยเครื่องสถานะแบบเดินสุ่ม (Random-Walk State-Machine Diagnostics): เพื่อให้เหมือนสิ่งมีชีวิตมากขึ้น Arduino Pro Mini จะรันตัวสร้างการเดินสุ่ม การตรวจสอบ (Forensics) จะมีรอบ "พัก (Rest-Cycles)" และการสลับท่าเดินเป็นระยะๆ เพื่อให้แน่ใจว่ารอบไม่ติดลูปเมื่อเจอมุมแปลกๆ
    • การจัดการแบตเตอรี่แบบจ่ายกระแสสูง (High-Current Power-Bank Orchestration): การควบคุมเซอร์โวมอเตอร์เกียร์โลหะ 5 ตัวต้องการกระแสที่มั่นคง การตรวจสอบใช้พาวเวอร์แบงค์สมาร์ทโฟน $2.1\text{A}$ มาป้อนสายไฟ VCC เพื่อให้แน่ใจว่า กระแสสตอลล์ (stall-currents) สูงๆ ของเซอร์โว MG90S จะไม่ทำให้ Arduino Pro Mini $16\text{MHz}$ ดับเพราะไฟตก (logic-brownouts)
  • ข้อจำกัดในการตรวจจับพื้นผิว:
    • ในเวอร์ชันแรกพยายามใช้เซ็นเซอร์สัมผัสที่เท้า การตรวจสอบพบว่า น้ำหนักตัวที่เบา $(\approx 300g)$ ของโครงสร้างที่ไม่มีตัวถัง (chassis-less frame) มันไม่พอที่จะกดปุ่มสวิตช์แบบกด (tact-switches) ให้ทำงานได้ (activation force $(N)$) การตรวจสอบในอนาคตจะอัพเกรดไปใช้การรับรู้แบบ capacitive หรือโพเทนชิโอมิเตอร์อนาล็อกแบบ "เขย่งเท้า (Tip-Toe)" แทน

พฤติกรรม (BEHAVIORS)

เหมือนหุ่นยนต์ Arduino ทั่วไป วอลเตอร์สามารถหลบสิ่งกีดขวางได้โดยใช้เซ็นเซอร์อัลตราโซนิค HC-SR04 เพื่อเพิ่มความเป็นแมลงให้มีตัวตน วอลเตอร์ยังเป็น "โฟโตวอร์ (photovore)" ด้วย แปลว่ามันถูกดึงดูดด้วยแสง โดยใช้โฟโตไดโอดในการตรวจจับแสง มีการสุ่มค่าในสเก็ตช์ Arduino เพื่อให้วอลเตอร์ตัดสินใจว่าจะหยุดพักเมื่อไหร่ และยังสุ่มเปลี่ยนความเร็วการเดินของมันด้วย (3 ความเร็ว)

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

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


Luminous Life: Mastering biological telemetry through insectoid forensics.

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

apps:
  - "1x Arduino IDE"
author: "studikasus"
category: "Motors & Robotics"
components:
  - "3x Ultrasonic Sensor - HC-SR04 (Generic)"
  - "5x MG90S Metal Geared Micro Servo"
  - "1x Soldering iron (generic)"
  - "1x Portable Power Pack for Smartphones (2 Channels: 1A, and 2.1A)"
  - "1x Arduino Pro Mini 328 - 5V/16MHz"
  - "4x Photodiode"
  - "1x Hot glue gun (generic)"
  - "4x Resistor 100k ohm"
description: "งานช่างระดับเทพ! ไม่ต้องมี PCB ไม่ต้องมี Proto Board แถมไม่ต้องทำโครงให้วุ่นวาย แค่จัดเซนเซอร์กับมอเตอร์ให้ถูกจุด แล้วใช้กาวตราช้างจัดหนัก แป๊บเดียวก็เสร็จ ตึงๆ!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/3cb37a28-9c8b-456e-a613-7ce83bcb244b.ino"
  - "https://projects.arduinocontent.cc/3cb37a28-9c8b-456e-a613-7ce83bcb244b.ino"
encryptedPayload: "U2FsdGVkX19qd3DrRHor+weN8ANqotkLZlIA/448On0BS7F7esNfKq/11e/9HnMCaXqqEpcU66m7v5QoPLK3OrV4g8QpbU8ivHKk9zW6vaU="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/walter-the-arduino-photovore-insect-efbd33_cover.jpg"
lang: "en"
likes: 85
passwordHash: "94a4bb559a481fda326edf2a29946b3cee9eb736dc07422e136a2fefb85ef41f"
price: 1499
seoDescription: "Build WALTER, a simple Arduino Photovore Insect robot. No pcb, proto board, or frames needed—just lots of glues! Perfect for DIY beginners."
tags:
  - "robot"
  - "animals"
  - "toys"
  - "robotics"
title: "WALTER - หุ่นยนต์แมลงตะเกียงใจร้อน วิ่งตามแสงแบบ Arduino งานง่ายแต่หล่อ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/ellRidf0aRk"
views: 62737