สารบัญ:

GameBoy Pi: 7 ขั้นตอน
GameBoy Pi: 7 ขั้นตอน

วีดีโอ: GameBoy Pi: 7 ขั้นตอน

วีดีโอ: GameBoy Pi: 7 ขั้นตอน
วีดีโอ: [How-To] วิธีทำเครื่อง Gameboy mini part 1/4 (ดูจบทำเองได้เลย) 2024, พฤศจิกายน
Anonim
GameBoy Pi
GameBoy Pi

ในปี 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
การติดตั้ง Retropie

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

ในการดาวน์โหลด Retropie ไปที่:https://retropie.org.uk/download/

ขั้นตอนที่ 5: ตัวควบคุม GPIO

Image
Image
ตัวควบคุม GPIO
ตัวควบคุม GPIO
ตัวควบคุม GPIO
ตัวควบคุม 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

Image
Image
GPIO Audio Out
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: สร้างและทดสอบให้เสร็จสิ้น

เสร็จสิ้นการสร้างและการทดสอบ
เสร็จสิ้นการสร้างและการทดสอบ
เสร็จสิ้นการสร้างและการทดสอบ
เสร็จสิ้นการสร้างและการทดสอบ
เสร็จสิ้นการสร้างและการทดสอบ
เสร็จสิ้นการสร้างและการทดสอบ
เสร็จสิ้นการสร้างและการทดสอบ
เสร็จสิ้นการสร้างและการทดสอบ

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

แนะนำ: