กลับไปหน้ารวมไฟล์
arduino-video-game-controller-for-any-computer-8cb513.md

Arduino Video Game Controller สำหรับคอมพิวเตอร์ทุกเครื่อง

คอนโทรลเลอร์วิดีโอเกมที่สามารถควบคุมเกมคอมพิวเตอร์ได้ทุกเกม!

แสดงให้เห็นถึงการควบคุมบางส่วนบนคอนโทรลเลอร์นี้

pro micro เป็นบอร์ดที่ตั้งโปรแกรมด้วย Arduino IDE ซึ่งสามารถทำงานเป็น USB keyboard หรือ mouse ได้ ผมใช้ประโยชน์จากคุณสมบัตินี้เพื่อสร้างคอนโทรลเลอร์วิดีโอเกม แต่ละปุ่มจะสั่งให้คีย์บน keyboard ของคุณถูกกด หรือสั่งให้ mouse เลื่อน joystick จะควบคุมตำแหน่งของ mouse ด้วยการรวมกันของสองสิ่งนี้ คุณจะสามารถควบคุมเกมของคุณได้อย่างเต็มที่

ฮาร์ดแวร์

ปุ่ม: https://www.sparkfun.com/products/97

จอยสติ๊ก: https://www.sparkfun.com/products/9032

Pro micro: https://www.sparkfun.com/products/12640

Custom PCB: https://easyeda.com/gadhaguy13/videogamecontroller (ดูคำเตือนด้านล่าง)

ซอฟต์แวร์

pro micro ได้รับการตั้งโปรแกรมโดย Arduino-IDE ผมใส่ฟังก์ชันเหล่านี้ไว้เนื่องจากคอนโทรลเลอร์แต่ละตัวจะแตกต่างกัน

Keyboard

อิมพอร์ตไลบรารี keyboard

#include "Keyboard.h"

เริ่มต้น keyboard:

Keyboard.begin()

กดปุ่ม:

Keyboard.press('key')

ปล่อยปุ่ม:

Keyboard.release()

Mouse

อิมพอร์ตไลบรารี mouse:

#include "Mouse.h" 

เริ่มต้น mouse:

Mouse.begin()

คลิก:

Mouse.click()

เลื่อน mouse หรือ scroll:

Mouse.move(x,y,scroll) 

PCB

ผมออกแบบ PCB ด้วย EasyEDA และสั่งผลิตที่ JLCPCB นี่คือลิงก์สำหรับออกแบบ PCB โปรดตรวจสอบข้อผิดพลาดก่อนสั่งซื้อ! ผมทำการปรับเปลี่ยนเล็กน้อยที่ยังไม่ได้ทดสอบสองสามอย่างหลังจากสั่งซื้อไปแล้ว นอกจากนี้ ตรวจสอบให้แน่ใจว่าเข้ากันได้กับ pro micro เนื่องจากลิงก์ PCB ที่ผมให้ไว้เป็นของ arduino nano ซึ่งไม่รองรับไลบรารี keyboard และ mouse คุณสามารถเพิ่มปุ่มหรือเปลี่ยนเลย์เอาต์ได้ตามต้องการ

เลเยอร์

PCB นี้มีสองเลเยอร์ เลเยอร์ทำให้คุณสามารถมีสายไฟสองเส้นวางทับกันได้โดยไม่เกิดการลัดวงจร

Vias

Vias เชื่อมต่อเลเยอร์ต่างๆ ของ PCB เข้าด้วยกัน ตัวอย่างเช่น หากคุณต้องการให้สายไฟจากเลเยอร์บนเชื่อมต่อกับสายไฟจากเลเยอร์ล่าง ให้เพิ่ม via

Ratlines&Wires

Ratlines เป็นเหมือนแนวทางสำหรับคุณในการวางสายไฟ ซึ่งจะตาม schematic คุณสามารถสร้าง PCB ได้โดยไม่ต้องใช้ schematic หรือ ratlines แต่ผมแนะนำให้ใช้ พวกมันทำให้การเดินสายไฟง่ายขึ้นในความคิดของผม เมื่อเดินสายไฟ ตรวจสอบให้แน่ใจว่าสายไฟของคุณไม่เป็นมุม 90°

อย่าลืมเปลี่ยนช่องสำหรับ arduino nano บน PCB ให้เป็น Arduino รุ่นที่คุณกำลังใช้งาน!

รายละเอียดทางเทคนิคเพิ่มเติม

การสร้างอุปกรณ์ต่อพ่วง HID อเนกประสงค์

โปรเจกต์นี้สร้าง Human Interface Device (HID) สากลที่ทำหน้าที่เป็น game controller แบบ plug-and-play สำหรับคอมพิวเตอร์ PC, Mac หรือ Linux ทุกเครื่อง

  • การจำลอง HID แบบเนทีฟ: ใช้ ATmega32U4 processor (พบได้ใน Arduino Pro Micro หรือ Leonardo) ซึ่งช่วยให้บอร์ดสามารถถูกรับรู้เป็น USB Keyboard หรือ Joystick มาตรฐานได้โดยไม่ต้องใช้ driver ใดๆ
  • การควบคุมแบบ Analog ที่มีความแม่นยำสูง: มี analog joysticks คู่ (ความละเอียด 10-bit) และปุ่ม "Trigger" แบบสัมผัสหลายปุ่ม ซึ่งให้ความแม่นยำที่จำเป็นสำหรับการเล่นเกมแข่งขัน

การแมปแบบกำหนดเอง

  • ตรรกะระดับ Firmware: ปุ่มสามารถแมปในระดับโค้ดไปยังการรวมกันของคีย์ใดก็ได้ (เช่น Ctrl+Alt+S สำหรับบันทึก) ซึ่งช่วยให้สามารถสร้าง macropad สำหรับเล่นเกมหรือเพิ่มประสิทธิภาพการทำงานที่ปรับแต่งได้สูง

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

title: "Arduino Video Game Controller for any Computer"
description: "Control any video game with this usb controller!"
author: "GadhaGod"
category: "Gadgets, Games & Toys"
tags:
  - "remote control"
  - "games"
  - "keyboard"
views: 15183
likes: 2
price: 2450
difficulty: "Easy"
components:
  - "1x Analog joystick"
  - "1x mini pushbutton"
  - "1x Soldering iron (generic)"
  - "1x Solder Wire, 0.022\" Diameter"
  - "1x Arduino Micro"
tools: []
apps:
  - "1x EasyEDA"
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "5eca60030fca62db4852a996f38ac3c29c5ebc210a46b0805de3431193490b26"
encryptedPayload: "U2FsdGVkX186KQhndXBZdHeAt0LV0fKSVlsLgE7lqWsH/gQevJRF/R3cJG+T9ztvV7wvuwHhPP+HjAzK6cPozoP5wjUM3HfJi+7YJVC7yZs="
seoDescription: "Build a custom Arduino Video Game Controller to play any game on your Computer using this simple USB project."
videoLinks:
  - "https://www.youtube.com/embed/DbNsvTml3oI"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-video-game-controller-for-any-computer-8cb513_cover.jpg"
lang: "th"