เราสร้างบอทต่อสู้ (Battle Bots) ขึ้นมาโดยใช้อุปกรณ์ราคาประหยัดอย่าง Arduino UNO และชิ้นส่วนอื่นๆ โครงการนี้เป็นส่วนหนึ่งของชมรมหุ่นยนต์สำหรับเด็กๆ ชั้น ป.5 ถึง ม.2 ที่โรงเรียน Trivium Personalized Learning Public Charter School เป็นกิจกรรมสนุกๆ ที่ให้เด็กๆ ได้เรียนรู้เกี่ยวกับ Arduino และหุ่นยนต์ไปพร้อมกัน
ถ้าอยากเห็นภาพรวมว่าเราต่อวงจรยังไง ไปดู แผนผังวงจร (Schematics) ได้เลยจ้า มันมีไดอะแกรมสำหรับ Motor Board, Sensor Shield, PS2 Controller และมอเตอร์เพิ่มเติมสำหรับฟังก์ชันฟลิปเปอร์/สปินเนอร์ที่ต่อผ่านเบรดบอร์ด ฟังก์ชันฟลิปเปอร์/สปินเนอร์นี้เราตั้งโปรแกรมให้ทำงานเมื่อกดปุ่ม X บนจอย PS2
เราพยายามใช้อุปกรณ์ราคาไม่แพง และให้อิสระกับเด็กๆ ในการออกแบบบอทต่อสู้ของตัวเองเต็มที่ อีกทั้งเลือกใช้อุปกรณ์ที่ไม่ต้องบัดกรี ทำให้การประกอบง่ายมากสำหรับมือใหม่
Coroplast
เราใช้ Coroplast มาทำตัวโครงบอท วัสดุนี้ราคาถูก แข็งแรงกว่ากระดาษลูกฟูก และตัด-ดัดโค้งได้ง่าย

Arduino UNO & Sensor Shield
เราใช้ UNO R3 Sensor Shield เพื่อให้เด็กๆ ต่ออุปกรณ์ต่างๆ เข้ากับ Arduino ได้ง่ายขึ้น แค่เสียบชีลด์นี้ลงบน Arduino ก็พร้อมใช้งานแล้ว

Motor Driver Board
เราใช้ Motor Driver Shield ตัวนี้เพื่อให้ต่อมอเตอร์เข้ากับ Arduino ได้สะดวกขึ้น

เพื่อประหยัดงบ เราเลยทำบอทเป็นระบบขับเคลื่อนสองล้อ (2WD) โดยใช้มอเตอร์ 2 ตัวด้านหลัง และล้อเลี้ยวด้านหน้า อย่างไรก็ตาม Motor Driver Shield ตัวนี้รองรับ 4WD ด้วยนะ ถ้าอยากอัพเกรดก็แค่เพิ่มมอเตอร์อีก 2 ตัวที่ล้อหน้าได้เลย
18650 Battery Case
เราเลือกใช้ Battery Case ตัวนี้เพราะมันมีสายไฟยาว 6 นิ้ว ทำให้ต่อเข้ากับ Arduino ได้ง่ายมาก

PS2 Controller
เราต่อบอทให้ควบคุมด้วยจอย PS2 ผ่าน Bluetooth
มีหลายบทเรียนสอนวิธีดัดแปลงจอย PS2 มาตรฐานมาใช้กับบอท แต่เราใช้จอยที่ซื้อมาจาก eBay ซึ่งถูกดัดแปลงมาให้พร้อมใช้แล้ว ข้อมูลของจอยตัวนี้อยู่ในส่วน Components & Supplies

รายละเอียดเทคนิคเพิ่มเติม: PSX Library และตัวรับสัญญาณ โปรเจกต์นี้ไม่ต้องใช้โมดูล Bluetooth นะ เราใช้ตัวรับสัญญาณไร้สาย 2.4GHz มาตรฐานที่มากับจอย PS2 แบบไร้สาย
- การต่อสาย: ตัวรับสัญญาณมี 9 พิน ต้องต่อสาย
DAT, CMD, SEL, CLK, VCC, และ GNDเข้ากับ Digital Pins ของ Arduino ให้ถูกต้องและระวังหน่อย - ไลบรารี: ไลบรารี
<PS2X_lib.h>จะจัดการการสื่อสารแบบ SPI ที่ซับซ้อนของ Sony ให้เรา - ตรรกะการควบคุม:
if(ps2x.Button(PSB_L1)) { /* Spin the saw blade weapon! */ }int LeftStick = ps2x.Analog(PSS_LY); /* Proportional motor speed */
อุปกรณ์เสริมอื่นๆ
นอกจากนี้เรายังใช้สายจัมเปอร์ (ผู้/ผู้ & เมีย/ผู้), เทปพันท่อ, สกรู, น็อต, โบลต์, ไม้ดอว์เอล, เทปสองหน้า และเทปเวลโครสำหรับประกอบชิ้นส่วนต่างๆ
นอกจากนี้ เรายังพิมพ์ 3D ชิ้นส่วนพิเศษขึ้นมาเองเพื่อใช้ทำฟลิปเปอร์, สปินเนอร์ และตัวเชื่อมต่อมอเตอร์อีกด้วย
รายละเอียดเทคนิคเพิ่มเติม: การควบคุมมอเตอร์กำลังสูง (BTS7960) สำหรับหุ่นยนต์ต่อสู้ระดับหนักขั้นสูง L298N ทั่วไปจะจ่ายได้สูงสุดแค่ 2 แอมป์และจะพังง่ายเมื่อโหลดหนัก ทางอัพเกรดคือการใช้ ไดรเวอร์มอเตอร์ BTS7960 43A ไอ้บริดจ์ H กระแสสูงตัวนี้สามารถรับมือกับมอเตอร์ทรงพลังสำหรับระบบขับเคลื่อนหรืออาวุธอย่างจานหมุนหรือแขนดีดได้สบายๆ
มันสนุกมากเลยนะที่ได้สร้างบอทต่อสู้พวกนี้! เราชอบดูไอเดียที่เด็กๆ คิดขึ้นมาจากอุปกรณ์ที่มีอยู่อย่างจำกัด มันเจ๋งมากที่ได้เห็นพัฒนาการของพวกเขาเวลาทดสอบบอทในสนามรบและปรับปรุงจุดอ่อนที่เจอ
บอทต่อสู้บางตัวที่นักเรียนสร้างขึ้น