สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: เตรียมบอร์ดและสภาพแวดล้อม Arduino
- ขั้นตอนที่ 2: อัปโหลด
- ขั้นตอนที่ 3: พิมพ์
- ขั้นตอนที่ 4: การเดินสายไฟ
- ขั้นตอนที่ 5: การประกอบขั้นสุดท้าย
- ขั้นตอนที่ 6: โหมดการทำงาน
- ขั้นตอนที่ 7: พงษ์
วีดีโอ: USB Paddle Game Controller: 7 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ลูกชายของฉันกำลังเล่นวิดีโอเกมย้อนยุคในคืนวันเกิดของเขา และในตอนเช้าของวัน ฉันตัดสินใจว่าฉันจะทำตัวควบคุมเกมพาย 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
- ประสานหมุดส่วนหัวหกตัวที่อยู่ตรงกลางของบอร์ด stm32f103c8t6 ของคุณ
- ตรวจสอบความต้านทานระหว่าง A12 และ 3.3V ควรเป็น 1.5K เพื่อความเข้ากันได้ของ USB ที่สมบูรณ์ยิ่งขึ้น กระดานจำนวนมากมี 10K แทน หากคุณเป็นหนึ่งในนั้น ควรบัดกรีตัวต้านทาน 1.8K จาก A12 ถึง 3.3V แม้ว่าคุณอาจโชคดีและให้คอมพิวเตอร์ของคุณทำงานกับ 10K ได้
- ติดตั้งโปรแกรมโหลดบูต มีคำแนะนำในขั้นตอนที่ 2 ของคำแนะนำนี้ สิ่งหนึ่งที่ควรทราบคือขนาดแฟลชที่รายงานโดยผู้สาธิต STM คืออะไร หากเป็น 32K แสดงว่าคุณมี stm32f103c8 ปลอม ซึ่งน่าจะเป็น stm32f103c6 ที่ติดป้ายกำกับใหม่ โปรเจ็กต์นี้น่าจะยังใช้ได้อยู่ แต่โปรดทราบว่าคุณมีบอร์ดปลอมสำหรับขั้นตอนต่อไป
- ติดตั้ง Arduino, Arduino Zero และคอร์ที่ใช้ libmaple ของ Roger โดยทำตามคำแนะนำในขั้นตอนที่ 3 ของ Instructable ที่คุณใช้ในขั้นตอนก่อนหน้า ละเว้นคำแนะนำห้องสมุดในขั้นตอนนั้น
- ดาวน์โหลดไลบรารี USB Composite รุ่นล่าสุดของฉันและคลายซิปลงในโฟลเดอร์ Arduino/Libraries ของคุณ
- ดาวน์โหลดสเก็ตช์ paddlecontrollers ของฉันและเปิดเครื่องรูดในโฟลเดอร์ Arduino ของคุณ
- ใน Arduino ให้ไปที่เครื่องมือ | คณะกรรมการ | Generic STM32F103C Series ยกเว้นกรณีที่คุณมีบอร์ด c6 ปลอม ซึ่งในกรณีนี้ให้เลือก Generic STM32F103C6/fake STM32F103C8 แทน หากคุณไม่แน่ใจว่าคุณมีตัวเลือกใด การเลือกตัวเลือกปลอมนั้นปลอดภัยกว่าจริงๆ
ขั้นตอนที่ 2: อัปโหลด
เสียบบอร์ดเข้ากับอะแดปเตอร์ USB ของคอมพิวเตอร์ โหลดภาพสเก็ตช์ paddlecontroller แล้วคลิกปุ่มอัปโหลด (ลูกศรชี้ขวา) หากทุกอย่างเป็นไปด้วยดี ภาพสเก็ตช์ควรอัปโหลด และบอร์ดควรแสดงบนคอมพิวเตอร์ของคุณเป็นจอยสติ๊กสองปุ่มแบบสองแกนที่เรียกว่า "Stelladaptor" ใน Windows คุณสามารถตรวจสอบสิ่งนี้ด้วย Windows-R, joy.cpl[enter]
แน่นอนว่าสิ่งนี้จะไม่ทำอะไรเลยจนกว่าคุณจะประกอบฮาร์ดแวร์ที่เหลือ
ขั้นตอนที่ 3: พิมพ์
- ดาวน์โหลดไฟล์ stl และ/หรือ scad จากหน้า Thingiverse ของฉันสำหรับโครงการนี้ โปรดทราบว่าลูกบิดไม้พายได้รับการแก้ไขจากที่นี่
- หากความกว้างของตัวเรือนไมโครสวิตช์แตกต่างจาก 12 มม. คุณจะต้องปรับพารามิเตอร์ความกว้างของปุ่มในไฟล์ paddlemain-standalone.scad คุณสามารถทำได้ใน OpenSCAD หรือใน Thingiverse Customizer
- คุณอาจต้องปรับแต่งการวัดในไฟล์ paddleknob.scad เพื่อให้พอดีกับโพเทนชิออมิเตอร์ของคุณ
-
พิมพ์ไฟล์เหล่านี้ (ทำสำเนาของไฟล์ "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 ในเรื่องนี้)
แนะนำ:
3D Printed Twin Paddle Cw Key (566grs.): 21 Steps (พร้อมรูปภาพ)
3D Printed Twin Paddle Cw Key (566grs.): จนถึงตอนนี้การมีแป้น Paddle คู่แฝดที่แม่นยำ นุ่มนวล และหนักหน่วงหมายถึงการใช้จ่ายเงินเป็นจำนวนมาก ความตั้งใจของฉันในการออกแบบคีย์นี้คือการทำไม้พาย:a)- ราคาถูก --- มันทำจากพลาสติกพร้อมเครื่องพิมพ์ 3d มาตรฐานb) - ทนทาน --- ฉันเคยใช้ ball be
Arduino Game Controller + Unity Game: 5 ขั้นตอน
Arduino Game Controller + Unity Game: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้าง / โปรแกรมคอนโทรลเลอร์เกม Arduino ซึ่งสามารถเชื่อมต่อกับความสามัคคี
เครื่องออกกำลังกาย USB Game Controller: 8 ขั้นตอน (พร้อมรูปภาพ)
เครื่องออกกำลังกาย USB Game Controller: เพื่อสนับสนุนการออกกำลังกายในตัวเองและครอบครัว ฉันได้สร้างอะแดปเตอร์ที่จำลองอะแดปเตอร์ตัวควบคุมเกม USB แบบมาตรฐาน แต่ควบคุมความเร็วในการเคลื่อนที่ของเกมด้วยการถีบบนเครื่องเดินวงรีหรือจักรยานออกกำลังกาย เหมาะอย่างยิ่งสำหรับเกมแข่งรถ มันเ
Game Boy Reader Controller: 17 ขั้นตอน (พร้อมรูปภาพ)
Game Boy Reader Controller: ในคำแนะนำนี้ ฉันจะพยายามอธิบายวิธีที่ฉันสร้างอุปกรณ์ด้านบนนี้ โดยทำหน้าที่เป็นตัวอ่านคาร์ทริดจ์ Game Boy ซึ่งสามารถอ่าน ROM และอ่าน/เขียน RAM ของเกม Game Boy ได้ หลังจากนั้นเกมจะ บูตอัตโนมัติเพื่อให้คุณสามารถเล่นบน yo
Adaptive Paddle: 5 ขั้นตอน (พร้อมรูปภาพ)
Adaptive Paddle: การออกแบบในปัจจุบันเพื่อให้ผู้คนสามารถพายเรือโดยใช้แขนข้างหนึ่งได้ มีแรงฉุดเล็กน้อยจากการที่ไม้พายยังคงหมุนอยู่ หากไม่มีเข็มวินาทีอยู่บนไม้พาย ก็ไม่มีทางที่ไม้พายจะสามารถควบคุมมุมที่