สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ออกแบบ
- ขั้นตอนที่ 2: พิมพ์ผลงานของคุณ
- ขั้นตอนที่ 3: การเตรียมบอร์ดต้นแบบของคุณ
- ขั้นตอนที่ 4: ทางเลือก: ปรับปรุงตัวเรือนคอนโทรลเลอร์ของคุณ
- ขั้นตอนที่ 5: การประกอบขั้นสุดท้าย
- ขั้นตอนที่ 6: ตั้งโปรแกรม Arduino. ของคุณ
- ขั้นตอนที่ 7: เล่นเกมของคุณ
- ขั้นตอนที่ 8: บทเรียนที่ได้รับ
วีดีโอ: On the Go Controller: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
คุณชอบเล่นเกมบนสมาร์ทโฟนของคุณหรือไม่? คุณเบื่อกับการเล่นเกมด้วยการควบคุมหน้าจอสัมผัสที่ยุ่งยากหรือไม่? เกลียดการลืมชาร์จคอนโทรลเลอร์ Bluetooth ของคุณหรือไม่? ต้องการใช้สายเคเบิลที่คุณซื้อแต่ไม่เคยใช้ใช่หรือไม่
ทำไมไม่ลองสร้างคอนโทรลเลอร์ของคุณเองดูล่ะ?
ฉันแน่ใจว่าฉันมาช้าไปเล่นเกม (ตั้งใจเล่นสำนวน) แต่ฉันเพิ่งค้นพบว่าสมาร์ทโฟนเครื่องเก่าของฉันสามารถเล่นเกมย้อนยุคผ่านการจำลองได้ เมื่อโตขึ้นฉันเป็นแฟนตัวยงของระบบ Game Boy และชอบความทรงจำในการเล่นเป็นเวลาหลายชั่วโมงและต้องนั่งรถนาน ๆ พยายามหาจุดประหยัดก่อนที่แบตเตอรี่จะหมดหรือดวงอาทิตย์อยู่ไกลเกินขอบฟ้า ดูหน้าจอของฉัน ตอนนี้ฉันสามารถเล่นบนโทรศัพท์และคิดถึงแต่หน้าจอที่มีแสงด้านหลังที่สวยงาม ขอบคุณเทคโนโลยี!
ข้อจำกัดความรับผิดชอบ: การจำลองเกมเป็นเรื่องที่งี่เง่าและเป็นอุปสรรคต่อการละเมิดลิขสิทธิ์ในบางกรณี โปรดให้ความรู้และเล่นอย่างมีความรับผิดชอบ!
พื้นหลัง:
ฉันตัดสินใจทำโครงการนี้หลังจากสร้างแป้นพิมพ์ลัด ในขณะที่เรียนรู้ไลบรารีคีย์บอร์ด Arduino และการสร้างทางลัด ฉันผูกปุ่มทดสอบบางปุ่มกับ WASD มันเริ่มทำงานกับเกมพีซีของฉันทันที และนั่นทำให้วงล้อหมุนไป ในช่วงเวลาเดียวกันนั้น พื้นที่ในโทรศัพท์ของฉันสำหรับหนังสือเสียงหมด และมองหาวิธีใช้แฟลชไดรฟ์ USB กับโทรศัพท์ของฉัน เนื่องจากรุ่นของฉันไม่อนุญาตให้ใช้การ์ด microSD นั่นคือตอนที่ฉันได้เรียนรู้เกี่ยวกับ OTG OTG ใช้การชาร์จจากแบตเตอรี่โทรศัพท์ของคุณเพื่อให้พลังงานแก่อุปกรณ์ที่เชื่อมต่ออยู่ ซึ่งรวมถึงคีย์บอร์ด เมาส์ และแฟลชไดรฟ์ เป็นต้น โทรศัพท์สามารถจ่ายไฟให้กับอุปกรณ์ 5v และเดาว่า Arduino micro ต้องใช้อะไรบ้าง? มันเป็นการแข่งขันที่เกิดขึ้นในสวรรค์
เสบียง
Arduino Micro
บอร์ดต้นแบบ
ปุ่ม 12 x 6 มม. (ฉันใช้สวิตช์ชั่วขณะสัมผัสเขียงหั่นขนมแบบคลาสสิก)
หัวแร้งและหัวแร้ง
เครื่องพิมพ์ 3 มิติ
สายเคเบิลขณะเดินทาง (OTG); ฉันทำเอง
สายชาร์จ Micro USB
ขั้นตอนที่ 1: ออกแบบ
ฉันต้องการให้คอนโทรลเลอร์ของฉันพกพาได้และมีปุ่มทั้งหมดที่ฉันต้องการเพื่อเล่นเกมจนถึงยุค Super Nintendo นี่หมายความว่าฉันต้องการ 12 ปุ่ม สี่สำหรับแป้นทิศทาง (d-pad) และแปดสำหรับ A, B, X, Y, Start, Select, Left Trigger และ Right Trigger ฉันยังมีข้อกำหนดเพิ่มเติมที่ต้องการให้มันสมมาตรเพื่อที่ฉันจะได้เล่นด้วยมือเดียวโดยใช้มือทั้งสองข้าง ข้อกำหนดเพิ่มเติมนั้นอาจฟังดูแปลก แต่เพื่อให้บริบท ฉันต้องพูดถึงว่าเมื่อเร็ว ๆ นี้ฉันพบว่าตัวเองกำลังอุ้มทารกนอนหลับอยู่เป็นประจำและใช้มือข้างเดียวในช่วงเวลาเล่นเกมที่จำกัด
ด้วยข้อกำหนดที่กำหนดไว้ ฉันจึงตั้งใจออกแบบคอนโทรลเลอร์ของฉันใน CAD ส่วนตัวฉันใช้ OnShape แต่ฉันรู้ว่าหลายคนประสบความสำเร็จกับ Fusion360 เช่นกัน ฉันอยากจะบอกคนอื่นๆ เกี่ยวกับไซต์นี้ที่ออกแบบการสร้างสรรค์ของตนเองอย่างรวดเร็ว มันเป็นงานหนัก! การออกแบบที่ฉันใช้นั้นเรียบง่ายมาก แต่ก็ยังต้องใช้เวลาหลายชั่วโมงกว่าจะพึงพอใจ ในขณะที่ฉันกำลังพิมพ์ข้อความนี้ ฉันสังเกตเห็นการปรับปรุงหลายอย่างที่ฉันอยากจะทำ
(ฉันวางแผนที่จะ แต่ไฟล์.stl บน Thingiverse เมื่อเวลาเอื้ออำนวย ไฟล์จะอยู่ที่นั่นเพื่อให้ฉันสามารถอัปเดตได้โดยไม่ต้องอัปโหลดไฟล์ที่นี่ตลอดเวลา)
ขั้นตอนที่ 2: พิมพ์ผลงานของคุณ
ฉันมีเครื่องพิมพ์ Ender 3 ที่ฉันมีเพียงไม่กี่เดือน เป็นเครื่องพิมพ์ที่ยอดเยี่ยมในการเริ่มต้น หากคุณต้องการเข้าสู่การพิมพ์ 3 มิติ ฉันไม่รู้ว่ามันพังแค่ไหน จนกระทั่งฉันวัดชิ้นส่วนของฉันสำหรับโครงการนี้ จนถึงโปรเจ็กต์นี้ ฉันได้ใช้มันเพื่อพิมพ์มินิสำหรับการเล่นเกมบนโต๊ะเท่านั้น มินเนี่ยนออกมาเยี่ยมมาก และฉันก็ไม่ได้สนใจเรื่องขนาดมากนัก ต้องใช้ลูกบาศก์สอบเทียบหลายก้อนและม้วนเส้นใหม่ ก่อนที่ฉันจะพอใจกับผลลัพธ์ที่ได้
ขั้นตอนที่ 3: การเตรียมบอร์ดต้นแบบของคุณ
ก่อนบัดกรีปุ่มบนบอร์ดต้นแบบ ฉันทดสอบปุ่มทั้งหมดบนเขียงหั่นขนมและทดสอบรหัส Arduino ของฉันพร้อมกัน ฉันจะตรวจสอบรหัสในขั้นตอนต่อไป
ตอนนี้เป็นเวลาที่ดีที่สุดในการตัดบอร์ดต้นแบบของคุณให้มีขนาด ใช้กล่องควบคุมที่พิมพ์ออกมาเป็นแนวทางและติดปุ่มให้พอดีเพื่อให้แน่ใจว่าทุกอย่างเข้าที่ ฉันเพิ่งตัดลวดและตัดกระดานส่วนเกินออกแล้วขัดขอบสี่เหลี่ยมด้วยกระดาษทรายกรวด 150 เม็ด
การเดินสายสำหรับคอนโทรลเลอร์นั้นตรงไปตรงมามาก เนื่องจากเราใช้ตัวต้านทานแบบดึงขึ้นภายในของ Arduino micro ปุ่มทั้งหมดไปที่อินพุตและกราวด์ ปุ่มที่ฉันใช้คือสวิตช์ชั่วขณะสัมผัสทั่วไปขนาด 6 มม.
การบัดกรีปุ่มต่างๆ ให้กับ Arduino เป็นปริศนาเล็กๆ น้อยๆ ที่สนุกกับการแก้ ปุ่มบางปุ่มอยู่ใต้ Arduino และฉันต้องเดินสายไฟออกจากข้างใต้ก่อนที่จะบัดกรี Arduino กับบอร์ดต้นแบบ หากคุณมองใกล้ปุ่มด้านข้างของบอร์ดฉันพลาดด้านซ้ายและขวาสำหรับแป้นควบคุมทิศทาง
สำหรับการออกแบบเฉพาะของฉัน ฉันบัดกรีปุ่มแพดทิศทางขึ้นและลง (ฉันพลาดปุ่มแพดทิศทางซ้ายและขวา) ไปที่บอร์ดต้นแบบพร้อมกับสายยาวพิเศษบางอัน จากนั้นพลิกบอร์ดและบัดกรีอาร์ดิโน ฉันไม่มีไดอะแกรมเพราะฉันทำการบัดกรีปุ่มทีละปุ่มเป็นส่วนใหญ่โดยสุ่ม (ฉันอาจอัปโหลดหนึ่งอันหากมีความสนใจเพียงพอ) หลังจากที่ Arduino ได้รับการรักษาความปลอดภัยฉันก็พลิกกระดานกลับไปที่ด้านปุ่มแล้วบัดกรีปุ่มที่เหลือและสายไฟ
ขั้นตอนที่ 4: ทางเลือก: ปรับปรุงตัวเรือนคอนโทรลเลอร์ของคุณ
ก่อนการประกอบขั้นสุดท้ายเป็นเวลาที่เหมาะสมในการขัดทราย เติมช่องว่าง และทาสีตัวเรือนคอนโทรลเลอร์ของคุณ ฉันเลือกที่จะข้ามขั้นตอนนี้สำหรับต้นแบบของฉันเพราะฉันต้องการใช้บางอย่างในทันที เมื่อฉันปรับปรุงการออกแบบของฉันให้ดูดีอย่างหลีกเลี่ยงไม่ได้ ฉันจะทำให้มันทำงานอย่างคุ้มค่า
ขั้นตอนที่ 5: การประกอบขั้นสุดท้าย
ตอนนี้เป็นเวลาที่จะใส่ปุ่มทั้งหมดของคุณและบอร์ดต้นแบบที่เสร็จสมบูรณ์ลงในตัวเรือน ฉันใช้สกรูโลหะแผ่น #4-24 x 1/2 สำหรับการออกแบบของฉัน พวกเขาได้งานทำแต่ไม่พอดีเท่าที่ฉันต้องการ
ขั้นตอนที่ 6: ตั้งโปรแกรม Arduino. ของคุณ
คุณอาจต้องการทำขั้นตอนนี้ก่อนหน้านี้เมื่อคุณยังคงออกแบบบอร์ดหรือหลังจากที่คุณบัดกรีทุกอย่างเข้ากับบอร์ดต้นแบบแล้ว ฉันชอบที่จะมีสิ่งนี้ในส่วนของตัวเอง
รหัสนั้นง่ายมากเมื่อเทียบกับโปรแกรม Arduino ส่วนใหญ่ที่ฉันเคยเห็น เราเพียงแค่กำหนดค่าแป้นพิมพ์แต่ละปุ่มและ Arduino จะวนซ้ำเพื่อตรวจสอบว่ามีการกดปุ่มใดบ้างและส่งข้อมูลนั้นไปยังโทรศัพท์ของเรา
สำหรับผู้ที่สนใจ ฉันใช้แอป retroArch เพื่อเล่นเกมย้อนยุคของฉัน แป้นที่ฉันใช้ถูกตั้งค่าเป็นรูปแบบแป้นพิมพ์เริ่มต้นที่ใช้สำหรับ retroArch
#include #include "Keyboard.h" #define NUM_BUTTONS 12 const uint8_t BUTTON_PINS[NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // ไหล่ซ้าย = 'q' // ไหล่ขวา = 'w' // select = 'rshift ' // start = 'enter' // up = 'key:up' // down = 'key:down' // left = 'key:left' // right = 'key:right' const char BUTTON_KEYS [NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; ปุ่มเด้ง * = เด้งใหม่[NUM_BUTTONS]; การตั้งค่าเป็นโมฆะ () { สำหรับ (int i = 0; i < NUM_BUTTONS; i++) { ปุ่ม .attach (BUTTON_PINS , INPUT_PULLUP); ปุ่ม.ช่วง(25); } // เริ่มต้นการควบคุมบนแป้นพิมพ์: Keyboard.begin(); } void loop() { // ตรวจสอบว่าค่าเปลี่ยนสำหรับ (int i = 0; i < NUM_BUTTONS; i++) { buttons.update(); ถ้า (ปุ่ม .fell ()) { Keyboard.press (BUTTON_KEYS ); } ถ้า (ปุ่ม .rose ()) { Keyboard.release (BUTTON_KEYS ); } } }
ขั้นตอนที่ 7: เล่นเกมของคุณ
อีกทางหนึ่ง คอนโทรลเลอร์นี้สามารถใช้กับพีซีโดยไม่ต้องใช้สาย OTG เพื่อส่งการกดปุ่มหรือมาโคร ฉันยังมีเพื่อนคนหนึ่งที่บอกว่าตัวควบคุมแบบนี้อาจมีประโยชน์สำหรับการวาดแท็บเล็ตแม้ว่าฉันจะไม่เคยยุ่งกับมันมาก่อน
ฉันหวังว่าคุณจะพบว่าคำแนะนำนี้มีประโยชน์ ด้านล่างนี้คือส่วนที่เรียนรู้สำหรับผู้ที่อยากรู้เกี่ยวกับสิ่งที่ฉันเรียนรู้ในระหว่างกระบวนการและสิ่งที่ฉันอยากจะทำแตกต่างออกไป
ขั้นตอนที่ 8: บทเรียนที่ได้รับ
CAD:
ฉันไม่เคยยุ่งกับซอฟต์แวร์ CAD มาก่อนและต้องเรียนรู้ระหว่างเดินทางด้วยการออกแบบนี้ เดิมทีฉันออกแบบให้ตั้งตรงมากขึ้นซึ่งจะพอดีกับมือคุณเหมือนกับเครื่อง Wii Nunchuk ความรู้ที่จำกัดของฉันเกี่ยวกับการออกแบบด้วยรูปทรงออร์แกนิกคือความหายนะของฉัน บางทีฉันควรนำ Intructables มาใช้กับคลาสการออกแบบ CAD ของมัน
ปุ่ม:
ปุ่มที่ฉันใช้นั้นดังกว่าที่ฉันต้องการ (โดยเฉพาะเมื่อคุณพยายามไม่ให้ใครซักคนตื่น) ฉันต้องการหาปุ่มที่เงียบกว่านี้ การผสมผสานสปริงระหว่างปุ่มและฝาครอบปุ่มจะช่วยให้งานสร้างดูสวยงามยิ่งขึ้น ปุ่มหย่อนเกินไปสำหรับรสนิยมของฉัน
การบัดกรี:
ฉันเป็นสามเณรในการบัดกรีและไม่มีมือที่มั่นคงมาก การบัดกรีสายไฟเล็กๆ ทั้งหมดทั่วสถานที่ใช้เวลานานกว่าที่ฉันคาดไว้ ถ้าฉันต้องทำทั้งหมดอีกครั้ง ฉันจะทำแผนที่ให้แน่ชัดว่าสายไฟของฉันจะไปที่ใดก่อนที่จะคว้าเตารีด ซึ่งจะช่วยลดข้อผิดพลาดที่ฉันค้นพบหลังจากติด Arduino กับบอร์ดต้นแบบและจะช่วยประหยัดเวลาฉันได้
แนะนำ:
สร้าง Arduino MIDI Controller: 5 ขั้นตอน (พร้อมรูปภาพ)
สร้าง Arduino MIDI Controller: สวัสดีทุกคน! ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างคอนโทรลเลอร์ MIDI ที่ขับเคลื่อนด้วย Arduino ของคุณเอง MIDI ย่อมาจาก Musical Instrument Digital Interface และเป็นโปรโตคอลที่ช่วยให้คอมพิวเตอร์ เครื่องดนตรี และฮาร์ดแวร์อื่นๆ สามารถสื่อสาร
CCTV Feed Controller-Raspberry Pi: 3 ขั้นตอน
CCTV Feed Controller-Raspberry Pi: สวัสดีทุกคน ยินดีต้อนรับสู่ Instructable อื่นโดย Scientify Inc. โปรเจ็กต์นี้ปรับแต่งสิ่งที่กล้องวงจรปิดบันทึกโดยใช้การตรวจจับการเคลื่อนไหวในตัวโดยใช้ความแตกต่างของรูทมีนสแควร์ (RMS) ระหว่างสองภาพที่ต่อเนื่องกัน ซึ่งช่วยในการสร้างฟีดกล้องวงจรปิด
Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: 8 ขั้นตอน
Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: ทำไมฉันจึงต้องการเพิ่มจอยสติ๊กขนาดเล็กลงในแป้นพิมพ์เพื่อควบคุมองค์ประกอบอินเทอร์เฟซหรืองานขนาดเล็กอื่นๆ ในเกมและเครื่องจำลอง (MS Flight Sim, Elite: Dangerous, Star Wars: ฝูงบิน ฯลฯ) สำหรับ Elite: Dangerous ฉันเคย
MicroBit Room Occupancy Counter และ Controller: 4 ขั้นตอน
MicroBit Room Occupancy Counter and Controller: ในช่วงที่มีการระบาดใหญ่ วิธีหนึ่งในการลดการแพร่เชื้อไวรัสคือการเพิ่มระยะห่างทางกายภาพระหว่างผู้คน ในห้องหรือร้านค้า การรู้ว่ามีคนกี่คนอยู่ในพื้นที่ปิดในเวลาใดก็ตาม โปรเจ็กต์นี้ใช้คู่ของ
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 ขั้นตอน (พร้อมรูปภาพ)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): ฉันลอก ryan97128 ออกจากการออกแบบของเขาสำหรับ Nintendo Controller MP3 เวอร์ชัน 2.0 และฉันได้ยินมาว่าเขาได้แนวคิดมาจาก Morte_Moya ที่ฉลาดทั้งหมด ดังนั้นฉันจึงรับเครดิตไม่ได้ อัจฉริยะทั้งหมดของพวกเขา ฉันแค่ต้องการเพิ่มความสะดวกสบายและเติมเงิน -