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 สำหรับเล่นเกมหรือเพิ่มประสิทธิภาพการทำงานที่ปรับแต่งได้สูง