สารบัญ:
- ขั้นตอนที่ 1: อะไหล่:
- ขั้นตอนที่ 2: คำถามที่พบบ่อย
- ขั้นตอนที่ 3: พิมพ์เคส
- ขั้นตอนที่ 4: การติดตั้ง Retropie
- ขั้นตอนที่ 5: ตัวควบคุม GPIO
- ขั้นตอนที่ 6: GPIO Audio Out
- ขั้นตอนที่ 7: สร้างและทดสอบให้เสร็จสิ้น
วีดีโอ: GameBoy Pi: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ในปี 2019 เกมบอยฉลองครบรอบ 30 ปี สิ่งนี้เป็นแรงผลักดันให้ฉันนำโปรเจ็กต์ที่ฉันคิดไว้แล้วไปปฏิบัติจริง แนวคิดพื้นฐานคือการใช้เคสพิมพ์ 3 มิติที่ดูเหมือน Game Boy Classic และวาง Pi Zero ไว้ใน Retropie ที่รันอยู่
ขั้นตอนที่ 1: อะไหล่:
- Pi Zero W
- จอ 3.5”
- Booster MT3608 ให้ 5V
- TP4056 เพื่อชาร์จแบตเตอรี่
- ลิเธียมเซลล์ 1000mA. สองหรือสามเซลล์
- การ์ด Micro SD ขนาด 4GB
- ตัวต้านทานและตัวเก็บประจุสำหรับเสียง
- PCB สากล
- เส้นผ่านศูนย์กลาง 2.8 มม. ลำโพง
- แอมพลิฟายเออร์ PAM8403
ขั้นตอนที่ 2: คำถามที่พบบ่อย
ฉันทำ FAQ สำหรับตัวเองเกี่ยวกับคำถามบางอย่างของโครงการ:
พิมพ์เคสไหน สงสัยระหว่าง PiGRRL อันโด่งดังของ Adafruit กับอีกอันที่ใกล้เคียงกับต้นฉบับมาก ฉันเลือกรุ่นออริจินัลเพราะ ABXY ใหญ่กว่าและอยู่ไกลกว่า อดาฟรุ๊ต: https://www.thingiverse.com/thing:1277483 ต้นฉบับ:
ควรใช้จอแสดงผลใด ฉันมีอยู่แล้วสองอัน หนึ่งใน 2, 8” ที่ใช้คอนโทรลเลอร์ ILI9341 และอีกอันที่มีคอมโพสิตวิดีโอขนาด 3.5” ฉันเลือก 3.5” เพราะเสียบง่ายกว่าและใส่ได้พอดี
Pi Zero มีวิดีโอคอมโพสิตหรือไม่ใช่ แต่ไม่มีหมุด
Pi Zero มีเอาต์พุตเสียงอะนาล็อกหรือไม่? จำเป็นต้องสร้างผลลัพธ์ที่แสดงโดย Adafruit:
ตัวควบคุมใดที่จะใช้? ฉันใช้สวิตช์ชั้นเชิงที่เสียบอยู่ใน GPIO ซึ่งจำลองแป้นพิมพ์ ฉันใช้โซลูชัน Adafruit อีกครั้ง แต่บอร์ดถูกสร้างขึ้นสำหรับฉัน:
ใช้การ์ด micro SD ขนาดใด ฉันใช้ 4GB ที่เพียงพอสำหรับฉัน ฉันไม่ต้องการให้มีเกม 5,000 เกมเพื่อเล่นแค่โหล โปรดจำไว้ว่า Pi Zero สามารถรันเกม 8 หรือ 16 บิตได้ดีเท่านั้น และรอมเหล่านี้มีขนาดเล็ก Retropie ใช้พื้นที่ประมาณ 2.2GB
จะเพิ่มพลังให้จอแสดงผล 12V ได้อย่างไรหาก Raspberry Pi ใช้งานได้กับ 5V ฉันพบจุด 5V ภายในบอร์ดของจอแสดงผล จอแสดงผลมีตัวควบคุม 5V หนึ่งตัวและอีกตัวหนึ่งเชื่อมต่อกัน 3.3V ฉันเชื่อมต่อ 5v กับอินพุตของตัวควบคุม 3.3v
ใช้แบตเตอรี่ชนิดใด? ฉันใช้ลิเธียมเซลล์ 1000mA สองเซลล์ ด้วยเซลล์นี้ อุปกรณ์ทำงานประมาณ 1:40 ชั่วโมง ฉันคิดว่าทางออกที่ดีที่สุดคือใช้สามเซลล์ 1000mA
วิธีชาร์จแบตเตอรี่?ฉันใช้บอร์ดชาร์จTP4056
ขั้นตอนที่ 3: พิมพ์เคส
ตามที่ผมบอกใน FAQ ผมเลือกพิมพ์เคสนี้:https://www.thingiverse.com/thing:2676949
จอแสดงผล 3.5 พอดีกับเคสอย่างสมบูรณ์แบบ ฉันพิมพ์ด้วยส่วนรองรับการแสดงผล (ชิ้นสีส้ม) โดยที่บอร์ดแสดงผลคอนโทรลเลอร์พอดีและฝาหลังถูกขันไว้ด้านบน
ขั้นตอนที่ 4: การติดตั้ง Retropie
Retropie เป็นซอฟต์แวร์ที่จะทำงาน มีอีมูเลเตอร์จำนวนมากติดตั้งอยู่แล้วและใช้งานง่ายมาก ในอินเทอร์เน็ต คุณจะพบ "วิธีการ" ติดตั้งได้มากมาย รายละเอียดเพียงอย่างเดียวคือ หลังจากติดตั้งในครั้งแรกที่คุณจะขอให้กำหนดค่าคอนโทรลเลอร์ กำหนดค่าแป้นพิมพ์เป็นตัวควบคุม และจดคีย์ไว้ในกระดาษหรืออย่างอื่น ข้อมูลนี้จำเป็นสำหรับการกำหนดค่าตัวควบคุม GPIO ซึ่งจะอธิบายในไม่ช้า
ในการดาวน์โหลด Retropie ไปที่:https://retropie.org.uk/download/
ขั้นตอนที่ 5: ตัวควบคุม GPIO
สำหรับคอนโทรลเลอร์ ฉันเลือกใช้โซลูชัน Adafruit:https://learn.adafruit.com/pigrrl-2/software#insta…
ฉันสร้างบอร์ดที่มีสวิตช์สัมผัสสากลของ PCB และต่อเข้ากับ GPIO
ในการติดตั้งไดรเวอร์ Adafruit ให้ใช้คำสั่ง:
ซีดี
curl https://raw.githubusercontent.com/adafruit/Raspbe…> > retrogame.sh
sudo chmod +x retrogame.sh
sudo bash retrogame.sh คำสั่งแรกดาวน์โหลดสคริปต์ คำสั่งที่สองอนุญาตการดำเนินการ และคำสั่งที่สามเรียกใช้สคริปต์ หลังจากรันแล้วให้เลือก "1. PiGRRL 2 controls" และรีบูต มันจะสร้างไฟล์ "/boot/retrogame.cfg" แก้ไขไฟล์นี้ตามการกำหนดค่าแป้นพิมพ์ของคุณ คุณจำโน้ตของ "การติดตั้ง Retropie" ได้หรือไม่?
รูปแบบของไฟล์คือ:
ซ้าย 4 # เหลือ Joypad
ขวา 19 #Joypad ขวา
ขึ้น 16 # Joypad ขึ้น
ลง 26 # Joypad ลง
LEFTCTRL 14 # 'A' ปุ่ม
LEFTALT 15 # 'B' ปุ่ม
Z 20 # 'X' ปุ่ม
X 18 # ปุ่ม 'Y'
SPACE 5 # ปุ่ม 'เลือก'
ENTER 6 # ปุ่ม 'เริ่ม'
A 12 # ปุ่มไหล่ซ้าย
S 13 # ปุ่มไหล่ขวา
โดยที่คอลัมน์แรกคือแป้นคีย์บอร์ด คอลัมน์ที่สองคือหมุด GPIO และคอลัมน์ที่สามคือความคิดเห็น ตัวอย่างเช่น ในไฟล์ด้านบน GPIO 20 จะทริกเกอร์ปุ่ม Z ของแป้นพิมพ์และปุ่ม X ตามรูปแบบคอนโทรลเลอร์ SNES
ขั้นตอนที่ 6: GPIO Audio Out
Pi Zero ไม่มีเสียงออก แต่ Adafruit สามารถเอาเสียงออกด้วยตัวต้านทานและตัวเก็บประจุบางตัวที่ต่อสายจากพิน GPIO สองพินและใส่โค้ดในไฟล์ /boot/config.cfg สำหรับบอร์ดฉันใช้ PCB สากลและมีเพียงตัวต้านทานและตัวเก็บประจุเท่านั้น ไดโอดมีไว้เพื่อป้องกัน GPIO สำหรับไฟฟ้าแรงสูงบางตัวและฉันไม่ได้ใช้
พิน GPIO ที่ใช้คือ:GPIO #13 (พิน #33) como PWM1GPIO #18 (พิน #12) como PWM0คุณไม่สามารถใช้พินเหล่านี้สำหรับคอนโทรลเลอร์คีย์บอร์ดได้
เพิ่มบรรทัดด้านล่างใน /boot/config.cfg และต่อวงจรคุณมีเสียงอยู่แล้ว
dtoverlay=pwm-2chan, pin=18, func=2, pin2=13, func2=4 เสียงออกไม่ได้ถูกขยาย และคุณสามารถใช้แอมพลิฟายเออร์ PAM8403 เพื่อทำสิ่งนี้ได้
ขั้นตอนที่ 7: สร้างและทดสอบให้เสร็จสิ้น
การสร้างผิวสำเร็จไม่ใช่เรื่องง่ายเพราะมีชิ้นส่วนจำนวนมากและต่อสายเข้ากับเคสได้ยาก ด้วยความอดทนและเอาใจใส่ทุกอย่างทำงานได้ดี ติดตามรูปภาพและวิดีโอผลลัพธ์สุดท้าย
แนะนำ:
Gameboy Advance เป็น Bluetooth Gamepad: 7 ขั้นตอน
Gameboy Advance As Bluetooth Gamepad: อุปกรณ์ดังกล่าวเป็น ESP32 ที่เชื่อมต่อกับ GBA ผ่านพอร์ตลิงก์ เมื่อเชื่อมต่ออุปกรณ์และไม่มีการใส่คาร์ทริดจ์ใน GBA เมื่อ GBA เปิดเครื่อง ESP32 จะส่งรอมขนาดเล็กเพื่อโหลดใน GBA รอมนี้เป็นโปรแกรมห
Back Light Gameboy: 10 ขั้นตอน
Back Light Gameboy: เป็นเพียงบทช่วยสอนสั้นๆ เกี่ยวกับวิธีการทำเกมบอยแบ็คไลท์นี้ ชิ้นส่วนที่ใช้แล้ว - หน้าจอแบ็คไลท์สีเขียวโปร่งแสง GID เกมบอยสีเขียว เปลือกปุ่ม DMG สีม่วงโปร่งแสงGID เริ่ม/เลือกปุ่ม ฝาครอบหน้าจอเปลี่ยนกระจก (จะถูกเพิ่มในภายหลัง)ไม่
ปุ่ม Gameboy หน้าจอสัมผัส!: 10 ขั้นตอน
ปุ่มเกมบอยหน้าจอสัมผัส!: ตั้งแต่ฉันยังเป็นเด็ก ฉันก็ต้องการเกมบอย กรอไปข้างหน้าสองสามปี ฉันยังไม่มีเกมบอย ฉันตัดสินใจดาวน์โหลดโปรแกรมจำลอง แต่….คุณไม่สามารถสัมผัสปุ่มเสมือนได้! ดังนั้นฉันจึงตัดสินใจสร้างปุ่มที่ฉันสามารถวางทับซ้อนกันบนหน้าจอได้
LiPo Battery Mod สำหรับ Gameboy DMG ของคุณ: 6 ขั้นตอน (พร้อมรูปภาพ)
LiPo Battery Mod สำหรับ Gameboy DMG ของคุณ: รูปภาพนี้ - ปี 1990 คุณอยู่ในการเดินทางบนถนน Mount Rushmore ในชั่วโมงที่หกของแปดชั่วโมง Tears For Fears ฉายทางวิทยุของรถสเตชั่นแวกอนเชฟโรเลตเซเลบริตี้ของคุณ แม่กำลังขับรถ คุณหมด Ecto-Cooler Hi-C และน้องชายที่โง่เขลาของคุณแล้ว
DIY Arduino Gameboy ราคาถูก: 5 ขั้นตอน (พร้อมรูปภาพ)
DIY Arduino Gameboy ราคาถูก: ทุกคนจะรู้สึกเบื่อเวลาเดินทางไกลและต้องการหาอะไรมาให้กำลังใจ!! การอ่านนิยายสามารถเลือกได้:/แต่เมื่อเวลาผ่านไปมันก็น่าเบื่อขึ้นด้วย!!ดังนั้นในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นวิธีการทำ อุปกรณ์เกมมิ่งมือถือที่ใช้ Arduino