กลับไปหน้ารวมไฟล์
arduino-game-controller-hid.md

Plug and Play: คอนโทรลเลอร์ Arduino แบบกำหนดเอง

Arduino Game Controller นำโปรเจกต์ "Joystick to Mouse" ไปสู่จุดสูงสุด แทนที่จะแกล้งทำเป็นคีย์บอร์ด คุณใช้ไลบรารีซอฟต์แวร์ขั้นสูงเพื่อบังคับให้ Arduino ของคุณทำงานเหมือนกับ Xbox 360 หรือ PlayStation Controller อย่างเป็นทางการ!

joystick_controller_setup_1772682035221.png

The "XInput" Standard

หากคุณเพียงแค่บอก PC ว่าคุณเป็นคีย์บอร์ด เกม Steam สมัยใหม่มักจะละเลยคุณ เกม PC สมัยใหม่จำเป็นต้องใช้ "XInput" protocol

  1. ไลบรารี: คุณดาวน์โหลด ArduinoJoystickLibrary อันทรงพลัง หรือเฉพาะ XInput bridge library สำหรับ Arduino Micro
  2. การแมปโดยตรง: ไลบรารีช่วยให้คุณส่งคำสั่งไปยัง Windows โดยตรงในฐานะ Gamepad:
    • Joystick.setButton(0, digitalRead(buttonA)); (แมปปุ่มจริงของคุณเข้ากับปุ่ม 'A')
    • Joystick.setXAxis(analogRead(joyX)); (แมปสติกของคุณเข้ากับ Left Thumbstick)

อุปกรณ์ที่จำเป็น

  • Arduino Micro (ชิป ATmega32U4): จำเป็นสำหรับการทำ HID enumeration
  • PS2 Style Twin Thumbsticks (x2)
  • Push Buttons จำนวนมาก (สำหรับ A/B/X/Y, Start, Select, Bumpers และ Triggers)
  • กล่องที่พิมพ์ด้วย 3D หรือกล่อง Tupperware

พัฒนาต่อยอด (Force Feedback)

เนื่องจาก XInput protocol เป็นแบบสองทาง PC จะส่งสัญญาณ "Rumble" กลับลงมาตามสาย USB จริงๆ เมื่อคุณถูกโจมตีในเกม! คุณสามารถเชื่อมต่อ NPN transistor เข้ากับ Arduino เพื่อให้ vibration motor ที่ไม่สมดุลหมุนอยู่ภายในด้ามจับของคอนโทรลเลอร์ เพื่อให้ได้ฟีดแบ็กที่มีคุณภาพเทียบเท่าคอนโซลอย่างแท้จริง

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

title: "Arduino Game Controller"
description: "Console building 101! Build a general-purpose, custom handheld controller with a thumbstick and action buttons to play thousands of games."
category: "Games & Toys"
difficulty: "Intermediate"