กลับไปหน้ารวมไฟล์
how-to-make-arduino-sumo-robot-afb0d8.md

วิธีสร้างหุ่นยนต์ Sumo ด้วย Arduino

คำว่า "sumo" มาจากกีฬาโบราณของญี่ปุ่น ซึ่งเป็นการต่อสู้กันของคู่แข่งสองคนในสังเวียน โดยแต่ละคนพยายามผลักอีกฝ่ายให้ออกจากสังเวียน และนี่คือสิ่งที่หุ่นยนต์ควรทำในการแข่งขันหุ่นยนต์ Sumo ซึ่งหุ่นยนต์สองตัวจะถูกวางไว้ในสังเวียน และแต่ละฝ่ายพยายามผลักคู่ต่อสู้ออกไป

แนวคิด:

สร้างหุ่นยนต์ที่มีคุณสมบัติเฉพาะและเป็นไปตามกฎของการแข่งขัน (Sumo) หุ่นยนต์นี้จะต้องมีขนาดที่แม่นยำเพื่อต่อสู้และเอาตัวรอดไม่ให้ถูกผลักออกจากสังเวียนไม่ว่าจะด้วยวิธีใด

มาดูรายละเอียดกฎการแข่งขันหุ่นยนต์ Sumo กัน

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

1. ขนาด: กว้างสูงสุด 20 cm, ยาวสูงสุด 20 cm, ความสูงไม่ระบุ

2. รูปร่าง: รูปร่างของหุ่นยนต์สามารถเปลี่ยนแปลงได้หลังจากการแข่งขันเริ่มต้น แต่ต้องไม่มีชิ้นส่วนที่แยกออกจากกันไม่ได้ เพื่อคงความเป็นวัตถุกลางชิ้นเดียว

3. น้ำหนัก: ต้องไม่เกิน 3 kg

4. หุ่นยนต์ต้องควบคุมตัวเองได้

ภาพรวม

การใช้งานของแต่ละองค์ประกอบ

ตอนนี้เรามีส่วนประกอบที่จำเป็นแล้ว มาลงรายละเอียดกันว่าแต่ละอย่างใช้สำหรับอะไร..

1- Arduino Uno

เป็นบอร์ดหลักที่ควบคุมชิ้นส่วนทั้งหมดและเชื่อมโยงเข้าด้วยกัน

2- DC Motor

ซึ่งช่วยให้หุ่นยนต์สามารถเคลื่อนที่และหลบหลีกภายในสังเวียนการแข่งขันได้

4- L298N Dual H Bridge for Arduino

เป็นแผงวงจรขนาดเล็กที่จ่ายแรงดันไฟฟ้าคงที่ให้กับมอเตอร์ รวมถึงรองรับบอร์ด Arduino พร้อมการควบคุมการเคลื่อนที่และแรงดันไฟฟ้าที่ดี

5- Ultrasonic sensor

**Ultrasonic sensor** ใช้เพื่อระบุตำแหน่งของหุ่นยนต์คู่ต่อสู้ และมักจะวางไว้ที่ด้านบนของหุ่นยนต์

6- IR TCRT5000

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

7- Battery 9v

สำหรับจ่ายแรงดันไฟฟ้าที่สำคัญให้กับบอร์ดหลัก (Arduino)

8- AA battery 4 * 1.5 v + Battery house

สำหรับจ่ายแรงดันไฟฟ้าที่สำคัญให้กับมอเตอร์ทั้งสองตัว (**DC Motor**) และต้องแยกการจ่ายไฟเพื่อให้ล้อได้รับกำลังเต็มที่

9- Jumper wires

การออกแบบ

ฉันได้สร้างการออกแบบหุ่นยนต์ Sumo สองแบบโดยใช้ Google 3D SketchUp เพราะฉันชอบสร้างโมเดลกระดาษของหุ่นยนต์ก่อนที่จะตัดชิ้นส่วนจากแผ่นอะคริลิกด้วยเครื่องตัดเลเซอร์ เพื่อตรวจสอบว่าชิ้นส่วนทั้งหมดจะประกอบเข้าด้วยกันได้อย่างถูกต้อง สิ่งสำคัญคือโมเดลกระดาษจะต้องถูกพิมพ์ออกมาในขนาดที่ตรงกับแบบ

และฉันได้คำนึงถึงการวัดขนาดที่เฉพาะเจาะจงตามกฎการแข่งขัน ดังนั้นลองคิดถึงการออกแบบที่สร้างสรรค์มากขึ้นและสร้างโมเดลของคุณเอง

เพื่อให้ตอบสนองต่อเรื่องน้ำหนักของหุ่นยนต์ได้ดีขึ้น ควรวางแบตเตอรี่ไว้ที่ด้านหน้าของหุ่นยนต์ โดยมีโล่ด้านหน้าทำมุม 45 องศาตามรูปทรงของหุ่นยนต์

ไฟล์สำหรับดาวน์โหลดมีอยู่ในส่วนไฟล์

กลยุทธ์การเล่น

ดังที่เราได้กล่าวไว้ก่อนหน้านี้ว่าหุ่นยนต์ต้องมีความสามารถในการควบคุมตัวเอง ซึ่งทำให้เราสามารถตั้งโปรแกรมได้มากกว่าหนึ่งวิธี ขึ้นอยู่กับว่าคุณต้องการให้หุ่นยนต์เล่นในสังเวียนอย่างไร เช่นเดียวกับคู่ต่อสู้จริงที่ต้องการชนะเกม

กลยุทธ์การเล่น (1):

· เราจะให้หุ่นยนต์หมุนรอบตัวเองอย่างต่อเนื่อง

· หุ่นยนต์จะวัดระยะทางอย่างต่อเนื่องในระหว่างการหมุน

· หากระยะห่างของคู่ต่อสู้ที่วัดได้น้อยกว่า (เช่น 10 cm) นั่นหมายความว่าคู่ต่อสู้จะอยู่ตรงหน้าหุ่นยนต์เราโดยตรง

· หุ่นยนต์จะต้องหยุดหมุนแล้วเริ่มโจมตี (เคลื่อนที่ไปข้างหน้าด้วยแรงเต็มที่อย่างรวดเร็ว)

· หุ่นยนต์จะต้องอ่านค่าจาก **IR sensor** เสมอเพื่อให้แน่ใจว่าเราไม่ได้ข้ามขอบสังเวียน

· หาก **IR** ตรวจพบสีขาว หุ่นยนต์จะต้องเคลื่อนที่ไปในทิศทางตรงกันข้ามกับเซ็นเซอร์ทันที (ตัวอย่าง: หากเซ็นเซอร์ด้านหน้าที่ระบุว่ามีสีขาว หุ่นยนต์จะเคลื่อนที่ถอยหลัง)!

กลยุทธ์การเล่น (2):

· ในตอนเริ่มต้น หุ่นยนต์จะวัดระยะทางด้านหน้า

· หุ่นยนต์จะถอยหลังเป็นระยะทางเท่ากับที่วัดได้

· หุ่นยนต์หยุดหมุนแล้วเริ่มโจมตีอย่างกะทันหัน (เคลื่อนที่ไปข้างหน้าด้วยแรงเต็มที่)

· ในกรณีที่คู่ต่อสู้โจมตี หุ่นยนต์จะต้องหมุน 45 องศาเพื่อเอาตัวรอดหากกำลังจะตกจากสังเวียน

· หุ่นยนต์จะต้องอ่านค่าจาก **IR sensor** เสมอเพื่อให้แน่ใจว่าเราไม่ได้ข้ามขอบสังเวียน

· หาก **IR** ตรวจพบสีขาว หุ่นยนต์จะต้องเคลื่อนที่ไปในทิศทางตรงกันข้ามกับเซ็นเซอร์ทันที (ตัวอย่าง: หากเซ็นเซอร์ด้านหน้าที่ระบุว่ามีสีขาว หุ่นยนต์จะเคลื่อนที่ถอยหลัง)!

การตั้งโปรแกรม

โค้ดโปรเจกต์สามารถดาวน์โหลดได้

ไลบรารีสำหรับ **ultrasonic sensor** ที่แม่นยำ

https://github.com/ErickSimoes/Ultrasonic/blob/master/examples/UltrasonicSimple/UltrasonicSimple.ino

### รายละเอียดทางเทคนิคเพิ่มเติม #### หุ่นยนต์ต่อสู้ด้วยคอมพิวเตอร์ โปรเจกต์นี้สร้างหุ่นยนต์ "Mini Sumo" ความเร็วสูงแบบอัตโนมัติ ออกแบบมาสำหรับการแข่งขันหุ่นยนต์ - **Infrared Opponent Tracking**: ใช้ชุด **IR sensor ระยะไกล (เช่น Sharp GP2Y0A21)** เพื่อตรวจจับตำแหน่งของหุ่นยนต์คู่ต่อสู้ เฟิร์มแวร์ของ Arduino จะใช้ **state machine** แบบ "Search and Destroy" โดยจะหมุนจนกว่าจะพบเป้าหมาย - **Dojo Edge-Detection Logic**: มี **TCRT5000 reflectance sensors** ที่หันหน้าลงดิน ติดตั้งอยู่ที่มุมต่างๆ หากหุ่นยนต์ตรวจพบขอบสีขาวของสังเวียน Dojo, Arduino จะถอยหลังและเลี้ยวทันทีเพื่อหลีกเลี่ยงการถูกตัดสิทธิ์

ประสิทธิภาพ

  • High-Current H-Bridge Hub: จัดการ micro metal-gear motors รอบสูงโดยใช้ TB6612FNG driver ซึ่งช่วยให้เร่งความเร็วและมีแรงผลักที่รุนแรงตามที่ต้องการในการต่อสู้ Sumo

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

title: "How to Make Arduino Sumo Robot"
description: "A self-controlled robot with specific dimensions and features. It is also designed in hostile shapes which qualify it to fight."
author: "AhmedAzouz"
category: "Motors & Robotics"
tags:
  - "robotics"
  - "sumobot"
views: 159892
likes: 25
price: 2450
difficulty: "Easy"
components:
  - "1x Dual H-Bridge motor drivers L298"
  - "1x Laser cutter (generic)"
  - "2x DC Motor, 12 V"
  - "1x Ultrasonic Sensor - HC-SR04 (Generic)"
  - "1x Arduino Nano R3"
  - "1x 9V Battery Clip"
  - "1x 9V battery (generic)"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "3cdb3417043c2bd53f3547e543bc02ff9c9505df2c91b81875e68e08f4d4784e"
encryptedPayload: "U2FsdGVkX19eZ6fpj7YIxncQlPi4NKKijSCiNCGaGMS6Mj1QwxERlrRev5grrOk+aCImdzDM78DDu7JokVITCVVM9UnEwQNxfQsFYCFurAY="
seoDescription: "Learn how to build a self-controlled Arduino Sumo Robot with specific dimensions and hostile designs for competition."
videoLinks:
  - "https://www.youtube.com/embed/lwrcF8nm78A"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/how-to-make-arduino-sumo-robot-afb0d8_cover.jpg"
lang: "th"