กลับไปหน้ารวมไฟล์
dart-e-exploring-angles-with-nerf-darts-dc3aea.md

DART-E

ลูกชายผมอายุ 4 ขวบ ชอบสร้างของเล่น และเชื่อว่าพ่อต้องสร้างอะไรก็ได้ นี่คือความพยายามของผมที่จะพิสูจน์ให้เขาเห็นว่าเขาคิดถูก

ผมเป็นมือใหม่ในวงการอิเล็กทรอนิกส์, Arduino และการสร้างของเล่นโดยทั่วไป เพราะปกติผมเป็นสายซอฟต์แวร์ โปรเจกต์นี้ช่วยให้ผมและลูกชายได้สำรวจโปรเจกต์ระดับกลางมากขึ้น ที่เราต้องคำนึงถึงแรงดัน (Voltage), กระแส (Current) และแม้แต่ไดโอดป้องกันกระแสย้อนกลับ (Flyback Diode) เพื่อปกป้องวงจรจากโซลินอยด์ที่เราใช้

นอกจากนี้ เรายังได้ใช้เครื่องเลเซอร์คัตเตอร์ xTool ของเราเพื่อสร้างแผงควบคุมและบอร์ดสั่งงานแบบกำหนดเองสำหรับโครง MakerBeam อีกด้วย

ขอบคุณชุมชน Arduino มากๆ โดยเฉพาะเพื่อนๆ ใน Discord ที่ช่วยผมแก้ไขปัญหาต่างๆ ในวงจรได้อย่างละเอียด

ภารกิจ

เราพยายามจะยิงปืนนัดเดียวได้นกหลายตัว

  1. เรียนรู้ว่ามุมส่งผลต่อวิถีของกระสุน (ลูกดอก Nerf) อย่างไร
  2. บูรณาการองค์ประกอบหลายๆ อย่างเข้าไว้ในโปรเจกต์ Arduino
  3. เรียนรู้วิธีเปลี่ยนต้นแบบให้กลายเป็นชิ้นงานสุดท้ายที่ทนทาน สวยงาม และใช้งานได้จริง

ผลลัพธ์

  1. เราใช้เวลาและเงินมากกว่าที่คิดไว้เยอะ เพื่อบรรลุเป้าหมายแรกเรื่องการเรียนรู้เกี่ยวกับมุม
  2. เราได้เรียนรู้มากกว่าที่จินตนาการได้ ตั้งแต่ไอเดีย ไปจนถึงต้นแบบ และชิ้นงานสุดท้าย
  3. เรารักการใช้เครื่องเลเซอร์คัตเตอร์ของเรา :-)
แผงควบคุม
ขาตั้งและสายไฟอิเล็กทรอนิกส์

คณิตศาสตร์การยิง: มุมป้อมปืน DART-E

โปรเจกต์ DART-E เปลี่ยนของเล่นลูกดอกโฟมสุดดุให้กลายเป็นเครื่องมือทางคณิตศาสตร์ ด้วยการติดปืน Nerf ที่ถอดกลไกบางส่วนออกแล้ว ลงบนฐานหมุนสองแกน (Dual-Servo Gimble) นักสร้างสรรค์ต้องนำความรู้จลนศาสตร์ระดับมัธยม (แรงโน้มถ่วง, ความเร็ว, และฟิสิกส์ของมุม) มาประยุกต์ลงในโค้ด C++ โดยตรง เพื่อยิงให้โดนแก้วที่อยู่อีกฝั่งห้องให้ได้

สูตรวิถีกระสุนแบบจลนศาสตร์

กระสุนจะตกเพราะแรงโน้ถ่วงโลก ถ้าแก้วอยู่ห่าง 5 เมตร การยิงในแนวราบ (0 องศา) จะทำให้โดนพื้น

  1. ความเร็วปากกระบอกปืน (Muzzle Velocity) ของลูกดอก Nerf ต้องทดสอบและกำหนดค่าตายตัวในโค้ด (เช่น v = 20 m/s)
  2. โค้ด Arduino จะใช้สมการจลนศาสตร์หลัก: มุม = 0.5 * arcsin((แรงโน้มถ่วง * ระยะทาง) / ความเร็ว^2)
  3. ผู้ใช้หมุนโพเทนชิออมิเตอร์ หรือป้อนสตริงระยะทางเข้า Serial Console (เช่น Target: 7 meters)
  4. โปรเซสเซอร์ Arduino จะคำนวณค่า arcsin() อย่างรวดเร็วเพื่อชดเชยแรงโน้มถ่วงที่ระยะทางนั้น
  5. มันจะสั่งให้ เซอร์โวปรับมุมเงย (Elevation Servo) หมุนขึ้นไปที่ 14.5 องศาพอดี!

ระบบเซอร์โวและโซลินอยด์โครงสร้าง

ปืนดาร์ตโฟมเนี่ย เวลายิงมันมีแรงสะท้อนกลับทางกลไกโครตเยอะเลยนะ

  • เซอร์โวพลาสติกสีฟ้า SG90 ตัวจิ๋วเนี่ย เกียร์ในตัวมันจะกร่อนแหลกราญทันทีที่ลั่นไก
  • น้องต้องยึดปืนตัวหลักเข้ากับ เซอร์โว MG996R เกียร์โลหะตัวเบิ้ม เท่านั้น
  • ระบบลั่นไกอิเล็กทรอนิกส์: ห้ามดึงไกด้วยมือเด็ดขาด! มันจะพังการปรับมุมทั้งหมดเลย
  • ให้ถอดไกพลาสติกเดิมออกให้หมด แล้วติดตั้ง โซลินอยด์แบบดึง-ผลัก 12V เข้าไปแทน
  • เมื่อการคำนวณทางคณิตศาสตร์เสร็จสิ้น Arduino จะสั่งให้รีเลย์ 5V ทำงาน รีเลย์ก็จะปล่อยไฟ 12V เข้าไปในโซลินอยด์ตัวหนักๆ ทันที ทำให้แกนโลหะของมันพุ่งไปข้างหน้าอย่างรุนแรง กระแทกเข้าไปในกลไกล็อคห้องบรรจุลูกดอก ปล่อยลูกโฟมออกไปโดนเป้าหมายอย่างแม่นยำ

ศาสตร์วิศวกรรมจลนศาสตร์ที่ต้องมี

  • Arduino Uno/Mega: คอมพิวเตอร์คำนวณวิถีกระสุน
  • เซอร์โวแรงบิดสูง MG996R คู่ พร้อมขายึด Pan/Tilt
  • แอคชูเอเตอร์โซลินอยด์แบบเส้นตรง 12V หรือโมดูลรีเลย์ 5V ตัวหนัก
  • ปืน Nerf ที่ถูกดัดแปลงโครงสร้างกลไกอย่างหนัก (หรือจะสร้างปืนแบบ Flywheel ขับเคลื่อนด้วยมอเตอร์เองก็ได้)

ข้อมูลเทคนิคเพิ่มเติม

โค้ดและรายละเอียดเทคนิคทั้งหมดเก็บอยู่ใน GitHub repository ของโปรเจคนี้

รุ่นพี่ชอบฟีดแบ็กและคำถามนะ อย่าเกรงใจ ถามมาได้เต็มที่เลย!

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

apps:
  - "1x Arduino IDE"
  - "1x xTool Creative Space"
author: "buildfams"
category: "Gadgets, Games & Toys"
components:
  - "1x Arduino Nano"
  - "3x Buck Converter Module, adjustable, LM2596 Based"
  - "1x MG995 servo motor"
  - "1x Hot glue gun (generic)"
  - "1x drill, screwdriver, soldering iron"
  - "1x MAX7219 Module"
  - "1x 12V DC 1/2″ Electric Solenoid Water Air Valve Switch (Normally Closed)"
  - "1x Laser cutter (generic)"
  - "1x 3 Digit Seven Segment Display"
  - "1x Generic SPDT Center Off Toggle Switch"
description: "Ballistic trigonometry! Learn physics by building a fully articulated pan/tilt Nerf turret that calculates optimal firing trajectories to hit targets at varying distances."
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://github.com/buildfams/DartShooter/blob/main/DART_LAUNCHER.ino/DART_LAUNCHER.ino.ino"
  - "https://github.com/buildfams/DartShooter/blob/main/DartShooterBuild.fzz"
encryptedPayload: "U2FsdGVkX18kakptvSDwm7mIB4+DhhOGb20C1/nly/S7Uy/rMgDjOJKHzADC5KFNxCCVOprbl8aO9EX8E5X+cgnPy47gHhxILClf6IZ9ELzo0ccxJiE5ToPQVGubC4fd"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/dart-e-exploring-angles-with-nerf-darts-dc3aea_cover.jpg"
lang: "en"
likes: 3
passwordHash: "f7e4cacd4f56bf1f425769ef519cd345a63a485cc824536782002c7caa61e6ec"
price: 2450
seoDescription: "Explore Angles and Projectiles with DART-E, an Arduino project using Motors, Solenoids, and Pneumatics for hands-on learning."
tags:
  - "Kids"
  - "Toys"
title: "DART-E : ยิงปืนฉีดน้ำยังไงให้โดนเป้า? มาเรียนเรื่องมุมแบบตึงๆ!"
tools: []
videoLinks: []
views: 6965