본문 바로가기
라즈베리파이

라즈베리 파이로 만드는 휴대용 게임보이

by 모빌리티키즈 2025. 6. 10.
728x90
반응형

클래식 게임을 어디서든 즐기고 싶지만 적당한 기기가 없거나 너무 비싸서 고민이셨나요?

그렇다면 이 프로젝트가 해결책이 될 수 있습니다!

이번 블로그에서는 라즈베리 파이를 활용해 직접 저렴한 게임보이를 제작하는 방법을 소개합니다.

개요

이 프로젝트의 목표는 라즈베리 파이를 활용한 휴대용 게임 콘솔을 제작하는 것입니다.

이를 통해 NES, MAME 등 다양한 에뮬레이터를 실행할 수 있으며, 3D 프린팅을 활용해 개성 있는 외형도 만들 수 있습니다. Adafruit의 게임보이 디자인을 참고했지만 사운드 기능이 부족해 이를 개선한 버전입니다.

부품 리스트 (BILL of Materials)

필요한 하드웨어

  1. Raspberry Pi 1 Model B
  2. 2.8인치 PiTFT 디스플레이
  3. 3.7V 2200mAh 리튬 이온 배터리
  4. 5V 2.1A 리튬 배터리 충전 모듈
  5. 미니 오디오 클래스 D 앰프
  6. 미니 금속 스피커
  7. SPDT 슬라이드 스위치
  8. 12mm x 6mm 크기의 택트 스위치

필요한 도구

  1. 3D 프린터 (데스크톱 3D 프린터 추천)
  2. 온도 조절 가능한 납땜 스테이션
  3. 와이어 커터

부품 설명 및 연결

회로 구성

  • 디스플레이 연결: PiTFT 디스플레이는 Raspberry Pi의 GPIO에 연결됩니다.
  • 버튼 연결: TFT 디스플레이의 추가 패드 홀을 활용해 버튼을 GPIO에 연결합니다.
  • 오디오 회로: Raspberry Pi에는 기본적인 오디오 증폭 기능이 없으므로, 오디오 앰프를 직접 납땜해 연결합니다.
  • 배터리 회로: 리튬 이온 배터리는 3.7V로, Raspberry Pi를 구동하기에는 부족합니다. 이를 해결하기 위해 부스트 컨버터를 사용하여 5V로 변환 후 Raspberry Pi에 전원을 공급합니다.
  • 배터리 관리: 안전한 충전을 위해 충전 모듈을 사용해 배터리를 충전하고 5V 출력을 생성합니다.

전체 회로도

FC2RMHLJKN8PYAV.fzz
0.06MB

 

전원 회로 연결

Gameboy에 전원을 공급하기 위해 3.7V 원통형 리튬 이온 배터리를 사용하고 있습니다. 그러나 3.7V는 Raspberry Pi에 전력을 공급하기에 충분하지 않으며 5V 부스트 컨버터가 필요합니다. 배터리를 충전하려면 리튬 이온 배터리 관리 회로가 필요합니다. 우리는 단일 보드에 두 가지 기능을 모두 가진 보조 배터리 충전기 회로를 사용하고 있습니다. 따라서 별도의 충전기 회로와 부스트 컨버터 회로를 사용하지 않는 비용 효율적인 솔루션입니다. 연결도 간단합니다.

배터리의 양극(+) 단자를 회로의 양극 입력에 연결합니다. 배터리의 음극(-) 단자를 회로의 GND에 연결합니다. 부스트 컨버터의 출력은 라즈베리파이의 GPIO에 연결되어야 합니다. 슬라이드 스위치를 통해 Raspberry Pi의 GPIO 5에 2V를 연결합니다. GND 또는 OUT-을 GPIO # 6에 연결하고 Raspberry Pi에 연결합니다.

4단계: 버튼 패드 만들기

버튼 패드를 만들려면 표준 크기가 아닌 38mm X 85mm의 퍼프보드가 필요합니다. 그래서 저는 측정에 따라 표준 크기의 퍼프보드를 잘라 Gameboy 상자에 맞췄습니다. 보드를 구입한 후 그림과 같이 보드에 10개의 미니 촉각 버튼을 납땜해야 합니다. 버튼 배치는 전면 덮개의 구멍에 따라 결정됩니다.

보드를 Raspberry Pi에 연결하기 위해 10mm 길이의 점퍼 와이어를 배전반에 납땜했습니다.

5단계: 오디오 연결 Amp리퍼

Raspberry Pi 보드에는 내장 오디오 증폭기가 없습니다. 따라서 스피커에서 사운드를 재생하려면 외부 오디오 증폭기 회로가 필요합니다. 이를 위해 5V, 2W 클래스 D 오디오 증폭기 보드를 선택합니다. 라즈베리 파이의 오디오 출력에 액세스하려면 오디오 증폭기를 라즈베리 파이의 오디오 출력 포트에 직접 납땜해야 합니다. 오디오 앰프 보드와 라즈베리 파이의 연결은 이미지에 명확하게 표시되어 있습니다. 따라서 이미지에 따라 연결하십시오.

이 지침의 후반부에서 스피커를 연결할 것입니다.

6단계: 버튼 패드를 TFT에 연결

이 단계에서는 이전 단계에서 만든 버튼 패드와 전원 회로를 TFT 디스플레이의 해당 핀에 연결합니다. 모든 버튼의 한 터미널은 공통 지점에 연결됩니다. 이 공통 지점은 디스플레이의 접지 핀에 연결됩니다. 모든 버튼의 다른 단자는 디스플레이의 별도 gpio 핀에 연결됩니다. 회로도는 모든 버튼의 연결에 대한 세부 정보를 보여줍니다. 이전 회로도에 따라 버튼 패드의 점퍼 와이어를 TFT 디스플레이의 해당 GPIO에 연결합니다.

버튼 패드를 연결한 후 전원 회로의 출력을 GPIO의 5V 및 GND 핀에 연결합니다.

7단계: 3D 프린팅

게임보이의 오리지널 3D 디자인은 에이다프루트(Adafruit)가 제작했습니다. 메인 케이스는 두 부분으로 나뉩니다. 하나는 상단용이고 다른 하나는 하단용입니다. 나는 하단 부분을 그대로 유지하고 상단 부분을 약간 수정했습니다. 웹 기반 플랫폼 인 Tinkercad를 사용하여 수정했습니다. 수정된 버전이 업로드됩니다. 단추는 Adafruit가 만든 다른 디자인에서 선택되었습니다.

파일을 다음과 같이 인쇄합니다.

  • PLA @230
  • 포탄 2발
  • 침투 10%
  • 0.2 레이어 높이
  • 90/120 속도

FMX4U3RJKSKF0W2.stl
0.09MB
FVMYFDFJKSKF0VH.stl
2.50MB
F8VQU8RJKSKF0UX.stl
0.23MB
FS7BQ7TJKN8PZEL.stl
0.37MB
F7RRDUBJKN8PZEK.stl
1.62MB

소스 코드 및 설명

게임을 실행하기 위해 CupCade OS를 설치하고 NES, MAME 등의 ROM 파일을 추가합니다. 소스 코드 및 설정 방법은 아래 링크를 참고하세요: Adafruit CupCade 설치 방법

3D 프린팅 및 조립

게임보이의 외형을 만들기 위해 Adafruit의 기존 디자인을 활용하고 일부 수정했습니다. 3D 프린팅 세부 설정:

  • PLA 필라멘트
  • 2개 쉘(shell)
  • 10% 인필(infill)
  • 0.2mm 레이어 높이
  • 속도 90/120
  • 서포트 및 래프트 없음

프린팅 후 조립 과정

  1. 게임보이 버튼 부착: 버튼을 올바른 위치에 맞춰 탑재하고 고정합니다.
  2. Raspberry Pi 장착: 3D 프린팅된 본체에 Raspberry Pi를 나사로 단단히 고정합니다.
  3. 디스플레이 & 배터리 배치: 디스플레이 모듈과 배터리를 올바르게 삽입 후 부품을 접착제로 고정합니다.
  4. 오디오 회로 연결: 스피커와 앰프 회로를 Raspberry Pi에 연결하고 납땜 작업을 진행합니다.
  5. 최종 조립: 상단과 하단을 결합해 완성합니다.

Raspberry Pi를 케이스에 넣기

이 단계에서는 3D 프린팅 케이스에 Raspberry Pi를 놓습니다. 그러나 그 전에 케이스 하단 부분의 색상을 변경하여 다른 모양을 주고 싶습니다. 스프레이 페인팅은 3D 프린팅 부품을 색칠할 수 있는 좋은 방법입니다. 스프레이 페인트는 다양한 색상과 유형으로 제공됩니다. 나는 파란색을 선택했다. 이미지는 검은색 부분에 페인팅한 후의 하단 부분을 보여줍니다.

색상을 변경한 후 라즈베리 파이를 케이스 하단 부분의 올바른 위치에 놓습니다. 2개의 M3 너트와 볼트를 사용하여 라즈베리 파이를 케이스에 단단히 고정합니다.

 

디스플레이 및 배터리 배치

디스플레이 모듈을 라즈베리 파이에 놓습니다. 그런 다음 배터리를 하단 케이스의 올바른 위치에 놓습니다. 회로를 수정하기 위해 다음 단계에 접착제를 추가하겠습니다.

 

파워 뱅크 회로 접착

보조 배터리 회로를 하단 덮개의 오른쪽에 놓고 뜨거운 접착제를 추가하여 회로를 덮개에 단단히 고정했습니다.

11 단계 : 버튼 패드 접착

이것은 아마도 프로젝트에서 가장 어려운 부분 일 것입니다. 3D 프린팅된 버튼을 적절한 위치에 배치한 다음 버튼 패드를 그 위에 놓습니다. 조심하세요! 버튼 패드가 버튼에 너무 세게 끼워지지 않아야 합니다. 버튼과 패드 사이에 1mm의 간격이 있어야 합니다. 그렇지 않으면 버튼을 잘못 누를 수 있습니다.

패드를 놓은 후 패드를 제자리에 고정할 수 있도록 뜨거운 접착제를 충분히 추가합니다. 그런 다음 상단 케이스의 스피커 구멍에 스피커를 놓고 접착제를 추가하여 제자리에 고정합니다.

그런 다음 앰프 회로를 제자리에 놓고 접착제로 그 자리를 고정합니다.

동작 테스트

  • 부팅 후 CupCade OS가 정상적으로 실행되는지 확인합니다.
  • 버튼 입력 테스트 후 NES 게임 실행을 점검합니다.
  • 오디오 출력 테스트 진행 후 사운드 출력 여부 확인합니다.
  • 게임을 실행하면서 동작 상태를 최종 점검합니다.
 

 

이전 단계를 모두 수행하면 Gameboy가 거의 준비된 것입니다. 두 부분을 함께 유지하고 를 눌러 두 부분을 함께 연결합니다.

이제 Gameboy에 게임을 설치해야 합니다. 그 전에 CupCade 운영 체제를 라즈베리 파이에 설정해야 합니다. SD 카드가 필요합니다. CupCade 설치 및 구성에 대한 자세한 내용은 https://learn.adafruit.com/pigrrl-raspberry-pi-gameboy/software 다음 링크를 참조하십시오.

게임보이는 NES뿐만 아니라 MAME ROM도 실행할 수 있습니다! Adafruit는 컵 케이드에 ROM을 설치하는 방법에 대한 설명서를 가지고 있습니다.

NES ROM의 경우 .nes 파일 형식(.ZIP 아님)을 사용하고 다음 디렉토리 경로에 배치해야 합니다. SD 카드의 ~/BOOT/fceu/rom.

ZIP 파일에 인기 있는 NES 게임을 추가했습니다.

FOWQF25JKSKF71C.zip
1.16MB

결론

이번 프로젝트를 통해 저렴한 비용으로 클래식 게임을 휴대하며 즐길 수 있는 게임 콘솔을 제작할 수 있었습니다. 향후 Bluetooth 지원, 더 큰 화면 추가 등의 개선을 고려할 수 있습니다.

다음 프로젝트 아이디어

  • 무선 컨트롤러 추가
  • 배터리 효율 개선
  • 보다 강력한 Raspberry Pi 모델 활용

이런 스타일로 블로그 글을 구성하면 기술적인 정보뿐만 아니라 실제 제작 경험도 함께 공유할 수 있어 더 많은 사람들이 쉽게 이해하고 따라 할 수 있을 거예요!

어떤 추가적인 내용을 포함하면 좋을까요? 😊

 

 

 

728x90
반응형