สารบัญ:

USB Paddle Game Controller: 7 ขั้นตอน (พร้อมรูปภาพ)
USB Paddle Game Controller: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: USB Paddle Game Controller: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: USB Paddle Game Controller: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: [MADE NEW VIDEO]🔧How To Play All PC Games With Any Controller or Generic USB Gamepad [X360CE]✔️ 2024, พฤศจิกายน
Anonim
USB Paddle เกมคอนโทรลเลอร์
USB Paddle เกมคอนโทรลเลอร์
USB Paddle เกมคอนโทรลเลอร์
USB Paddle เกมคอนโทรลเลอร์
USB Paddle เกมคอนโทรลเลอร์
USB Paddle เกมคอนโทรลเลอร์

ลูกชายของฉันกำลังเล่นวิดีโอเกมย้อนยุคในคืนวันเกิดของเขา และในตอนเช้าของวัน ฉันตัดสินใจว่าฉันจะทำตัวควบคุมเกมพาย USB สำหรับพงษ์ได้ไหม โดยใช้เครื่องพิมพ์ 3 มิติและอุปกรณ์อิเล็กทรอนิกส์จากที่เก็บของฉัน ในขณะที่ฉันจัดการให้พวกเขาทำงานได้ทันเวลา แต่ท้ายที่สุดผู้คนก็ยุ่งกับเกมอื่น ๆ สำหรับพงษ์มากเกินไป

ตัวควบคุมสามารถใช้สำหรับ Pong กับโปรแกรมจำลองระดับวงจร DICE หรือกับเวอร์ชัน pygame ที่ค่อนข้างแม่นยำของฉัน สำหรับเกม Atari 2600 ที่มีโปรแกรมจำลอง และสำหรับฟังก์ชันคล้าย Etch-a-Sketch ด้วยโปรแกรมวาดภาพเช่น Tux Paint

มีสามโหมดสลับได้:

  • Stelladaptor paddle emulation: ควรทำงานร่วมกับซอฟต์แวร์จำลอง Atari 2600 ทั้งหมดที่สนับสนุน Stelladaptor; ในโหมด Stelladaptor แป้นพายจะทำหน้าที่เป็นจอยสติ๊กสองปุ่มแบบสองแกน โดยแต่ละแป้นจะควบคุมหนึ่งแกนและหนึ่งปุ่ม
  • การจำลองจอยสติ๊กคู่: แป้นพายแต่ละอันทำหน้าที่เป็นจอยสติ๊กด้วยปุ่มเดียว (โดยการเคลื่อนที่ของแป้นพายจะแปลเป็นการเคลื่อนไหวบนแกนจอยสติ๊กทั้งสอง)
  • เมาส์: แป้นพายแต่ละอันควบคุมทิศทางการเคลื่อนที่หนึ่งทิศทางสำหรับเมาส์แบบสัมบูรณ์ และปุ่มต่างๆ คือปุ่มของเมาส์ ร่วมกับโปรแกรมระบายสี คุณจะได้อุปกรณ์ไฮเทคที่คล้ายกับ Etch-a-Sketch

เสบียง

คุณจะต้องการ:

  • stm32f103c8t6 เม็ดสีน้ำเงิน
  • 2x โพเทนชิออมิเตอร์เชิงเส้น (ฉันขอแนะนำ 20K-100K)
  • ไมโครสวิตช์ความกว้าง 12 มม. 2x พร้อมปุ่ม
  • เครื่องพิมพ์ 3 มิติ
  • เบ็ดเตล็ด (ไส้หลอด, สายไฟ, บัดกรี, หัวแร้ง, กาวร้อน)

ขั้นตอนที่ 1: เตรียมบอร์ดและสภาพแวดล้อม Arduino

เตรียมบอร์ดและสภาพแวดล้อม Arduino
เตรียมบอร์ดและสภาพแวดล้อม Arduino
เตรียมบอร์ดและสภาพแวดล้อม Arduino
เตรียมบอร์ดและสภาพแวดล้อม Arduino
  1. ประสานหมุดส่วนหัวหกตัวที่อยู่ตรงกลางของบอร์ด stm32f103c8t6 ของคุณ
  2. ตรวจสอบความต้านทานระหว่าง A12 และ 3.3V ควรเป็น 1.5K เพื่อความเข้ากันได้ของ USB ที่สมบูรณ์ยิ่งขึ้น กระดานจำนวนมากมี 10K แทน หากคุณเป็นหนึ่งในนั้น ควรบัดกรีตัวต้านทาน 1.8K จาก A12 ถึง 3.3V แม้ว่าคุณอาจโชคดีและให้คอมพิวเตอร์ของคุณทำงานกับ 10K ได้
  3. ติดตั้งโปรแกรมโหลดบูต มีคำแนะนำในขั้นตอนที่ 2 ของคำแนะนำนี้ สิ่งหนึ่งที่ควรทราบคือขนาดแฟลชที่รายงานโดยผู้สาธิต STM คืออะไร หากเป็น 32K แสดงว่าคุณมี stm32f103c8 ปลอม ซึ่งน่าจะเป็น stm32f103c6 ที่ติดป้ายกำกับใหม่ โปรเจ็กต์นี้น่าจะยังใช้ได้อยู่ แต่โปรดทราบว่าคุณมีบอร์ดปลอมสำหรับขั้นตอนต่อไป
  4. ติดตั้ง Arduino, Arduino Zero และคอร์ที่ใช้ libmaple ของ Roger โดยทำตามคำแนะนำในขั้นตอนที่ 3 ของ Instructable ที่คุณใช้ในขั้นตอนก่อนหน้า ละเว้นคำแนะนำห้องสมุดในขั้นตอนนั้น
  5. ดาวน์โหลดไลบรารี USB Composite รุ่นล่าสุดของฉันและคลายซิปลงในโฟลเดอร์ Arduino/Libraries ของคุณ
  6. ดาวน์โหลดสเก็ตช์ paddlecontrollers ของฉันและเปิดเครื่องรูดในโฟลเดอร์ Arduino ของคุณ
  7. ใน Arduino ให้ไปที่เครื่องมือ | คณะกรรมการ | Generic STM32F103C Series ยกเว้นกรณีที่คุณมีบอร์ด c6 ปลอม ซึ่งในกรณีนี้ให้เลือก Generic STM32F103C6/fake STM32F103C8 แทน หากคุณไม่แน่ใจว่าคุณมีตัวเลือกใด การเลือกตัวเลือกปลอมนั้นปลอดภัยกว่าจริงๆ

ขั้นตอนที่ 2: อัปโหลด

ที่อัพโหลด
ที่อัพโหลด

เสียบบอร์ดเข้ากับอะแดปเตอร์ USB ของคอมพิวเตอร์ โหลดภาพสเก็ตช์ paddlecontroller แล้วคลิกปุ่มอัปโหลด (ลูกศรชี้ขวา) หากทุกอย่างเป็นไปด้วยดี ภาพสเก็ตช์ควรอัปโหลด และบอร์ดควรแสดงบนคอมพิวเตอร์ของคุณเป็นจอยสติ๊กสองปุ่มแบบสองแกนที่เรียกว่า "Stelladaptor" ใน Windows คุณสามารถตรวจสอบสิ่งนี้ด้วย Windows-R, joy.cpl[enter]

แน่นอนว่าสิ่งนี้จะไม่ทำอะไรเลยจนกว่าคุณจะประกอบฮาร์ดแวร์ที่เหลือ

ขั้นตอนที่ 3: พิมพ์

พิมพ์
พิมพ์
  1. ดาวน์โหลดไฟล์ stl และ/หรือ scad จากหน้า Thingiverse ของฉันสำหรับโครงการนี้ โปรดทราบว่าลูกบิดไม้พายได้รับการแก้ไขจากที่นี่
  2. หากความกว้างของตัวเรือนไมโครสวิตช์แตกต่างจาก 12 มม. คุณจะต้องปรับพารามิเตอร์ความกว้างของปุ่มในไฟล์ paddlemain-standalone.scad คุณสามารถทำได้ใน OpenSCAD หรือใน Thingiverse Customizer
  3. คุณอาจต้องปรับแต่งการวัดในไฟล์ paddleknob.scad เพื่อให้พอดีกับโพเทนชิออมิเตอร์ของคุณ
  4. พิมพ์ไฟล์เหล่านี้ (ทำสำเนาของไฟล์ "2x" เพียงสำเนาเดียวหากคุณต้องการเพียงแค่พายเดียว) ฉันใช้ PLA แต่ ABS ควรทำงานได้ดีเช่นกัน

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (อุปกรณ์เสริม)
    • 1x 12.stl (ไม่จำเป็น พิมพ์สีอื่นแล้วติดกาวเพื่อติดป้ายไม้พายทั้งสองข้าง)

ขั้นตอนที่ 4: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

คุณจะต้องเดินสายไฟสี่สายจากบอร์ด stm32f103c ไปยังตัวควบคุมแป้นพายแต่ละตัว คุณสามารถใช้สาย USB เก่าสำหรับสายเหล่านี้ ฉันบังเอิญมีสายแบบสแตนด์อโลนที่ดีจากสายอีเทอร์เน็ตที่ฉันผูกไว้กับฟิล์มหด

ไม้พายแต่ละอันมีไมโครสวิตช์หนึ่งตัวและโพเทนชิออมิเตอร์หนึ่งตัว ใช้มัลติมิเตอร์เพื่อระบุหมุดที่อยู่ติดกัน (ไม่ใช่เส้นทแยงมุม) บนไมโครสวิตช์ที่เชื่อมต่อ/ตัดการเชื่อมต่อโดยการกดปุ่ม ฉันจะติดป้ายหมุดเหล่านี้ S1 และ S2 ในไดอะแกรม หมุดสามตัวบนโพเทนชิออมิเตอร์ที่ฉันติดป้าย P1, P2 และ P3 จากบนลงล่าง โดยมองจากด้านล่างของโพเทนชิออมิเตอร์ โดยมีหมุดชี้ไปทางขวา

ดันสายไฟทั้งสี่จากกระดานผ่านรูที่ด้านข้างของโครงไม้พาย (paddlemain.stl)

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

พายทั้งสอง:

  • P1 ถึง S1
  • P1 กับบอร์ด 3.3V (3.3)
  • P3 ไปยังบอร์ด GND (G)

ไม้พาย 1:

  • P2 ขึ้นเครื่อง A1
  • S2 ขึ้นเครื่อง A2

ไม้พาย 2:

  • P2 ขึ้นเครื่อง A3
  • S2 ขึ้นเครื่อง A4

ตอนนี้ทดสอบการเชื่อมต่อโดยเชื่อมต่อกับคอมพิวเตอร์ของคุณและใช้โปรแกรมทดสอบจอยสติ๊ก บน windows, Windows-R, joy.cpl[enter] เลือก Stelladaptor คลิก Properties Paddle 1 ควรควบคุมแกน X และปุ่มแรก ไม้พาย 2 ควรควบคุมแกน Y และปุ่มที่สอง

ขั้นตอนที่ 5: การประกอบขั้นสุดท้าย

การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย

ไมโครสวิตช์สามารถติดกาวได้ (กาวร้อนช่วยฉันได้) ในตำแหน่งที่ด้านข้างของกล่องไม้พาย ฝาปิดปุ่มสามารถติดได้โดยใช้กาวร้อนเล็กน้อยเพื่อความมั่นคง

โพเทนชิออมิเตอร์ยึดติดกับรูขนาดใหญ่ที่ด้านบนของกล่องพาย ลูกบิดควรเลื่อนและติด ขยายรูด้วยสว่านตามต้องการ ดันฝาครอบด้านล่างเข้าไป เพิ่มกาวร้อนเล็กน้อยหากต้องการ

แผ่นยาเม็ดสีน้ำเงินพอดีกับแผ่น PCB ซึ่งจากนั้นขันสกรูไปที่ด้านล่างของกล่องแปลงซึ่งมีฝาปิดที่สามารถปิดได้

ฉันเพิ่ม Shoe Goo เล็กน้อยโดยที่สายไฟมาบรรจบกับตัวเรือนเพื่อป้องกันสายไฟ และฉันก็ติดป้าย "1" และ "2" บนแป้นพาย

ขั้นตอนที่ 6: โหมดการทำงาน

โหมดการทำงาน
โหมดการทำงาน
โหมดการทำงาน
โหมดการทำงาน

แป้นพายมีสามโหมดการทำงาน คุณสามารถเปลี่ยนโหมดการทำงานได้โดยการกดปุ่มต่างๆ ร่วมกันในขณะที่เสียบเข้ากับพอร์ต USB และปล่อยเมื่อไฟ LED ของบอร์ดหยุดกะพริบ เมื่อคุณเปลี่ยนโหมดการทำงาน โหมดนั้นจะถูกบันทึกไว้ในหน่วยความจำแฟลช และจะคงอยู่จนกว่าคุณจะเปลี่ยนครั้งถัดไป (ดังนั้น หากคุณไม่ต้องการเปลี่ยนโหมด อย่ากดปุ่มใดๆ ขณะเสียบไม้พายเข้ากับพอร์ต USB) ตัวเลือกมีดังนี้:

  • ปุ่มแป้นซ้ายเท่านั้น: จอยสติ๊กสองปุ่มแบบสองแกนหนึ่งแกน โดยแต่ละแกนและปุ่มควบคุมโดยแป้นพายเดียว นอกจากนี้ ไม้พายยังระบุว่าเป็น Stelladaptor ซึ่งเป็นอะแดปเตอร์ USB ที่เลิกผลิตไปแล้วสำหรับคอนโทรลเลอร์ Atari 2600 และดังนั้นอีมูเลเตอร์ Atari 2600 เช่น Stella และ Z26 ที่เข้ากันได้กับ Stelladapter จึงควรทำงานได้อย่างสมบูรณ์
  • ปุ่มทั้งสองปุ่ม: ไม้พายแต่ละอันจะแสดงจอยสติ๊กแยกต่างหาก จอยสติ๊กมีปุ่มการทำงานเพียงปุ่มเดียว และการหมุนแป้นหมุนจะขยับจอยสติ๊กในแนวทแยง ดังนั้นแกน X หรือแกน Y จึงใช้งานได้กับแป้นพาย
  • ปุ่มแพดเดิลขวาเท่านั้น: แป้นพายจะแสดงเป็นเมาส์แบบสัมบูรณ์แบบสองปุ่ม ตอนนี้คุณสามารถใช้สิ่งนี้ได้เหมือนกับ Etch-a-Sketch ด้วยโปรแกรมวาดภาพ

ขั้นตอนที่ 7: พงษ์

โป่ง
โป่ง
โป่ง
โป่ง

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

วิธีที่ดีที่สุดวิธีหนึ่งในการเล่นปิงปองคือการใช้โปรแกรมจำลองระดับวงจร DICE หากคอมพิวเตอร์ของคุณเร็วพอที่จะใช้งานได้เต็มความเร็ว (แล็ปท็อป Windows ของฉันคือ แต่ Raspberry PI 3+ ช้าเกินไป) ฉันแนะนำเวอร์ชัน 0.8

หากคุณใช้โหมด Stelladaptor ในแป้นควบคุม ให้ไปที่การตั้งค่า | กำหนดค่าอินพุต… ใน DICE และเลือก Joystick 1 และ Absolute สำหรับ Player 1 Paddle และตั้งค่าทั้งแนวนอนและแนวตั้งเป็น Joy 1 X-Axis จากนั้นทำเช่นเดียวกันกับ Player 2 Paddle ยกเว้นแกน Y

หากคอมพิวเตอร์ของคุณช้าเกินไปสำหรับ DICE ฉันได้สร้างเวอร์ชัน Python3+pygame ซึ่งการกำหนดเวลาและฟังก์ชันการทำงานจะใกล้เคียงกับ Pong ดั้งเดิมมาก (ฉันรู้สึกขอบคุณสำหรับความช่วยเหลือจาก Dr. Hugo Holden ในเรื่องนี้)

แนะนำ: