สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ภาพรวม:
อุปกรณ์นี้ให้คุณใช้การเคลื่อนไหวของศีรษะเพื่อกระตุ้นเหตุการณ์ในวิดีโอเกมทั่วไป มันทำงานโดยการติดตามการเคลื่อนไหวของศีรษะของคุณ (หรือชุดหูฟังที่เกี่ยวข้อง) และกระตุ้นการกดแป้นพิมพ์สำหรับการเคลื่อนไหวบางอย่าง คอมพิวเตอร์ของคุณจึงเห็นอุปกรณ์นี้เป็นแป้นพิมพ์มาตรฐาน ต่อมาฉันอาจจะเพิ่มการรองรับจอยสติ๊กและแป้นเกม
การเคลื่อนไหวที่ใช้บ่อยที่สุดซึ่งฉันพบว่าเหมาะสมที่นี่ (นั่นคือเหตุผลที่ฉันเริ่มโครงการนี้ตั้งแต่แรก) กำลังเอนเอียง ในเกมอย่าง PUBG, Tom Clancy's Rainbow Six Siege, Insurgency และอื่นๆ อีกมากมาย คุณสามารถเอนไปทางซ้ายหรือขวาเพื่อไปยังจุดสูงสุดรอบมุมโดยไม่ให้พื้นที่เป้าหมายขนาดใหญ่แก่ศัตรู ฉันพบว่ามันค่อนข้างยากที่จะกดปุ่ม "Q" และ "E" ที่ใช้กันทั่วไปเพราะนิ้วของฉันถูกควบคุมโดยการเคลื่อนไหวปกติ (wasd) และหมอบ…
โหมด:
ซอฟต์แวร์ใช้ "โหมด" เพื่อเลือกระหว่างการตั้งค่า (การเคลื่อนไหวและการกดแป้น) สำหรับเกมต่างๆ การตั้งค่าที่กล่าวถึงใน "ภาพรวม" (เอียงซ้ายและขวาสำหรับ "E" และ "Q") ได้รับการตั้งโปรแกรมไว้ล่วงหน้าแล้วในโหมด 2 หากต้องการสลับระหว่างโหมดต่างๆ คุณต้องมีปุ่มอย่างน้อยหนึ่งปุ่มบน Arduino ของคุณ (พิน 14 เป็นค่าเริ่มต้นสำหรับโหมด ปุ่ม) แต่ถ้าคุณไม่รู้สึกว่าเป็นเช่นนั้น คุณสามารถกำหนดโหมดเริ่มต้นของคุณในโค้ดได้ (Set mode = 2 สำหรับการตั้งค่าที่กล่าวถึง)
เริ่มต้น:
โครงการนี้สามารถทำได้ง่ายในช่วงบ่าย ชิ้นส่วนส่วนใหญ่ที่ฉันเคยใช้ไม่ได้ไม่จำเป็น คุณสามารถใช้ Arduino, เซ็นเซอร์, สายไฟและเขียงหั่นขนมได้!
อีกทางเลือกหนึ่งสำหรับ Arduino Pro Micro คุณสามารถใช้ Arduino กับคอนโทรลเลอร์ ATmega32u4 เช่น Leonardo เป็นต้น คอนโทรลเลอร์นี้จำเป็นเพราะรองรับ USB ดั้งเดิม มิเช่นนั้นจะไม่สามารถทำหน้าที่เป็นแป้นพิมพ์/จอยสติ๊ก/เกมแพดได้
เสบียง
สิ่งจำเป็น:
- Arduino Pro Micro
- MPU6050 คณะกรรมการฝ่าวงล้อม
- ลวด
ไม่จำเป็น:
- โปรโต PCB
- ปุ่มและไฟ LED
- qeMotion PCB ดั้งเดิม (เร็ว ๆ นี้)
- ชิ้นส่วนที่พิมพ์ 3 มิติ
ขั้นตอนที่ 1: สร้าง PCB. ของคุณ
ไม่ต้องการไฟ LED และปุ่มเหล่านั้นทั้งหมด ไม่จำเป็นต้องใช้ PCB คุณสามารถใส่ทุกอย่างลงบนเขียงหั่นขนมได้หากวิธีนี้ง่ายกว่าสำหรับคุณ
การเชื่อมต่อที่สำคัญ:
Pin 3 (SDA) Arduino - SDA บนโมดูล MPU
Pin 2 (SCL) Arduino - SCL บนโมดูล MPU
ปักหมุด VCC Arduino - VCC บนโมดูล MPU
ปักหมุด GND Arduino - GND บนโมดูล MPU
การเชื่อมต่อเพิ่มเติม:
ปุ่มสำหรับปักหมุด 14 & 15
ไฟ LED เพื่อตรึง 4, 5, 6, 7, 9, 16 (คุณอาจใช้ทรานซิสเตอร์สำหรับไฟ LED กระแสสูง)
qeMotion PCB: (เร็วๆ นี้)
ยังไม่มี แต่ฉันอาจจะออกแบบ PCB แบบกำหนดเองสำหรับโครงการนี้ ซึ่งสามารถดาวน์โหลดได้และอาจซื้อได้
ขั้นตอนที่ 2: สร้างเซนเซอร์ของคุณ
คุณไม่จำเป็นต้องพิมพ์เคสสำหรับ MPU6050 ขออภัย ฉันไม่สามารถส่งภาพภายในและสายไฟได้ แต่ระหว่างการหดตัวของเคสด้วยความร้อนของเคส PLA หากหลอมรวมเข้าด้วยกันและไม่สามารถแยกชิ้นส่วนได้อีก (โง่ฉัน…)
การเดินสายเป็นไปตามขั้นตอนข้างต้น เพียงเชื่อมต่อ SDA กับ SDA pin 2 บน Arduino และเหมือนกันสำหรับ SCL (pin 3) พลังงานสำหรับโมดูล MPU สามารถนำมาจากพิน VCC และกราวด์จากพิน GND ใดๆ บน Arduino
ฉันเคยใช้สาย USB แบบเก่าเพราะมันมีเกราะป้องกันที่ดี ฉันไม่รู้ว่าจำเป็นหรือไม่ แต่โปรดทราบว่าโปรโตคอล I2C ไม่ได้มีไว้สำหรับใช้กับสายเคเบิลยาวๆ เช่นนี้ แต่ใช้บน PCB
ขั้นตอนที่ 3: พิมพ์เคสของคุณ
ไม่จำเป็น แต่ถ้าคุณมีเครื่องพิมพ์ 3 มิติ คุณสามารถใช้การออกแบบนี้ได้
ขั้นตอนที่ 4: ตั้งโปรแกรม Arduino. ของคุณ
- เชื่อมต่อ Arduino กับพีซีของคุณ
- ค้นหาว่าพอร์ต COM เชื่อมต่อกับอะไร (คุณสามารถค้นหาได้ใน Windows Device Manager)
- เลือก COM-Port ใน Arduino IDE [เครื่องมือ -> พอร์ต]
- เลือกบอร์ดของคุณ [เครื่องมือ -> บอร์ด -> "ประเภทบอร์ดของคุณ"]
- ตรวจสอบให้แน่ใจว่าคุณได้นำเข้าไลบรารีที่จำเป็นทั้งหมดแล้ว
- RES สั้น ๆ เป็น GND (ทำให้ Arduino อยู่ในโหมดการเขียนโปรแกรมเป็นเวลาไม่กี่วินาที)
- อัพโหลดภาพสเก็ตช์ของคุณ!
รหัสล่าสุดสามารถพบได้ในหน้า GitHub ของฉัน:
github.com/lesterwilliam/qeMotion/blob/mas…
ขั้นตอนที่ 5: แสดงเวอร์ชัน QeMotion ของคุณให้เราดู
ฉันดีใจที่ได้เห็นเวอร์ชันของโปรเจ็กต์ qeMotion ของคุณ! บางทีคุณอาจมีแนวคิดดีๆ และการนำไปใช้เพิ่มเติม แบ่งปันกัน;)
นอกจากนี้ ถ้าคุณต้องการซื้อกาแฟให้ฉัน โครงการอื่นๆ อาจปรากฏขึ้นเร็วขึ้น;)
paypal.me/AdrianSchwizgebel?locale.x=de_DE
ขอบคุณมาก!