10인치 바탑 게임기 제작기

개요

얼마전에 갑자기 목돈이 생겨서.. 이걸로 뭘할까 고민하다가 그동안 생각만 하고 있던 미니바탑 조립을 하기로 하였습니다. 기본적으로 MDF로 바탑을 구성하고, 10인치 디스플레이와 라즈베리파이를 사용하였습니다. 바탑(bartop)은 책상(bar)위(top)에 올릴 수 있는 게임기통을 말합니다. 노트북을 무릎(lap)위(top)에 올린다는 표현과 비슷한 것 같습니다. 도면 및 많은 정보들은 네이버카페 라즈겜동(http://cafe.naver.com/raspigamer)에서 얻을 수 있었습니다. 이번 포스트는 그동안 작업했던 내용들에 대한 기록입니다.

시트지 및 목재 조립

풍림우드(http://www.punglimwood.com/)에 전화를 걸어서 래빗케이드 10인치를 주문하였습니다. 라즈겜동 카페의 많은 분들이 주문하셔서 그런지 별도의 도면 제공은 필요치 않았습니다. 가조립을 하여 조립하는 과정을 숙지하고, 나무에 시트지를 붙일 부분과 본드로 접착할 부분들을 표시하였습니다.

외관을 꾸밀 시트지는 실사출력할 수 있는 곳에서 직접 출력해도 되며, 단색으로 꾸미실 꺼면 다이소 제품을 구매하여도 됩니다. 저는 다이소 제품으로 작업을 진행했습니다. 1가지 색으로 하실꺼면 50x80cm 2개를 구매하시면 됩니다. 시트지는 핸드폰 액정 붙이는 것과 비슷하게 작업하니 쉽더군요. 이형지를 일부만 띄어내고 접은 후에, 목재에 붙인 후, 이형지를 조금씩 띄면서 밀대로 밀어주면 됩니다.

 

시트지를 붙인 상태에서 다시 가조립하여 부족한 곳이 없나 확인해 보았더니 우측면 내부 시트지를 모자라게 붙였음을 확인하여 다시 시트지 작업하였습니다. 시트지 구멍은 아트나이프로 구멍의 홀을 의지해서 자르니까 의외로 수월하게 잘리더군요. 접착제가 붙을 부분에 시트지가 붙어 있는 부분은 칼로 오려내었습니다.

마퀴의 글씨 구멍은 칼로 뚫지 않고, 아크릴판을 위에 붙여서 제가 맘에 드는 마퀴그림을 넣기로 했습니다. POP 꽂이 (250 x 75mm)를 구매하여 250 x 35 크기로 자르고, 포토용지로 출력하여 마퀴 그림을 넣어주었습니다.

목재에는 타이트본드 바르고, 클램프를 사용하여 고정하였습니다. 모니터 지지대는 꺽쇠로 고정하고, 화룡점정으로 크롬몰딩을 부착하였습니다. 좌우의 스피커 구멍과, 뒷쪽의 환기구멍에는 방충망을 붙였습니다. (멋있으라고 붙였는데, 별 의미가 없네요.)

앰프 모듈

앰프를 목재에 고정시키기 위해 플라스틱판(SD 메모리 케이스)을 준비하여 재단하고, 플라스틱판에 앰프모듈을 고정한 후, 플라스틱판을 목재에 부탁하였습니다.

10인치 바탑에서는 앰프의 높이로 인해 바닥을 깍아줘야 안정적으로 고정됩니다. 앰프의 위치 확인을 위해 앰프에 인주를 뭍혀 바닥과의 접촉면을 확인하였습니다. 이후 조각칼로 바닥을 깍아주었습니다. 바닥을 깍을때 앰프의 콘센트 부분도 고려하여 깍아주셔야 합니다.

 

10인치 바탑의 볼륨노브 구멍은 16파이입니다. aliexpress(https://goo.gl/Yx1kaX)에서 주문했는데 꽤 오래 걸리네요.

GPIO 연결

조이스틱과 버튼은 기존에 가지고 있던 EX Reveolution의 것을 추출하여 달아줬습니다. 라즈베리파이와 연결하는 방법은 별도의 PCB 보드(https://goo.gl/2Rak5X)를 통해 USB로 연결해도 되지만, 저는 라즈베리파이의 GPIO에 바로 연결하였습니다. 라즈겜동 카페에서 상시공제하고 있는 GPIO 케이블을 주문하여 연결하였습니다. 별도로 제작할 수도 있으나, 공재 케이블이 가장 깔끔하고 사용하기 쉬웠습니다. 차후 유지보수를 위해 각 케이블에는 어떤 선인지 라벨을 달아 두었습니다. 배선은 동봉된 설명서를 참고하여 작업하였습니다.

  • 1줄에 8개의 터미널단자 : 버튼용 접지선
  • 1줄에 4개 터미널단자 : 스틱용 접지선
  • 1줄에 넓은 터미널단자 : 스틱용 신호선
  • 1줄에 얇은 터미널단자 : 버튼용 신호선

 

전원 관리

사용할 모니터는 카멜 10인치 PF1050IPS이며, 라즈베리파이3 Model B와 연결하였습니다. 전원은 5V 아답타를 통해 병렬로 모니터와 라즈베리파이로 공급합니다. 이 과정에서 여러가지 삽질을 하였는데요. 라즈베리파이에서 번개표시(https://wikidocs.net/7872)가 뜬다거나, 모니터로 신호가 못온다거나 여러가지 증상이 발생하였습니다. 결론은 충분한 전류의 아답터와 AWG18케이블을 굵고 짭게 연결하는 것이였습니다. 그리고 라즈베리파이의 권장전력은 5V 2.5A 이므로, USB 케이블도 3A 지원하는 것으로 변경하였습니다. 최종적으로 전원부에 연결된 부품은 다음과 같습니다. LED 전원스위치 배선은 별해는 마왕님 블로그(https://blog.naver.com/pyohiy/220959493849)를 참고하였습니다.

 

해상도 문제

전원 관련 부품들을 연결하고 스위치를 올려보니 모니터에 “신호없음” 이라고 뜨더군요. 이때 라즈베리파이 전원만 뺐다 끼우면 정상적으로 화면이 나옵니다. HDMI 출력 설정에 문제가 있는듯하여, HDMI 설정을 변경하였습니다.

일단 SSH 터미널로 라즈베리파이에 접속하여 /boot/config.txt 파일을 수정하였습니다. hdmi_ignore_hotplug를 1로 수정하니 HDMI 신호는 잘 잡히지만 해상도가 낮아지는 문제가 있어서 10인치 카멜모니터의 해상도(1280×800, 1080P)로 고정하였습니다.

 

코인기 제작

코인기를 넣고 싶었는데, 아무리 봐도 기존 코인기를 넣을 공간이 보이지 않았습니다. 방법이 없을까 폭풍검색하다 보니 라즈겜동에 영민님이 올리신 글(http://cafe.naver.com/raspigamer/8350)에서 힌트를 얻어 작업하였습니다. 관련 코드와 작업기는 별도의 글에 올려두겠습니다.

코인기는 우드락으로 작업하였습니다. 우드락과 MDF 사이에는 두꺼운 종이를 접어서 밀어 넣었습니다. 두꺼운 종이 덕에 동전이 잘 미끌어질 수 있었습니다. 코인기 슬롯은 직접 제작했다가 최종적으로 자판기 부품을 구매하여 부착하였습니다.

포토인터럽터를 사용한 코인기 제작

락스위치 설치

아이들의 무한코인을 방지하고, 용돈을 벌기 위해 coin에 사용되는 select 버튼에 락스위치를 달았습니다. 열쇠로 select 버튼을 on/off 할 수 있게 된거죠. select 버튼이 off 된 상태에서는 코인기로 동전을 넣어야 게임을 할 수 있습니다. 문제는 게임을 빠져나가기 위해 hotkey를 눌러야 되는데요. 보통 hotkey는 select를 사용하여야 하는데, 락 스위치를 off 해 놓은 상태에서는 문제가 됩니다. 이를 위해 start 버튼을 길게 눌러 게임을 빠져나갈 수 있도록 하였습니다. 관련 코드는 별도의 글에 올려두었습니다.

RetroPi에서 start 버튼으로 게임 종료

라즈베리파이 설정

최초 설치 후 https://retropie.org.uk/docs/First-Installation/ 플 참고하였습니다.

이미지 설치

OS는 라즈겜동의 마이애니님이 공개하신 버전(http://cafe.naver.com/raspigamer/9742)을 사용하였습니다. SDFormatter(https://www.sdcard.org/downloads/formatter_4) 를 사용하여 메모리를 포멧하고, Win32DiskImager(https://win32-disk-imager.kr.uptodown.com/windows)로 이미지를 write하였습니다.

컨트롤러 설정

GPIO로 연결된 컨트롤러와 2인용을 위한 컨트롤러의 설정을 하였습니다. 키설정은 SNES(슈퍼패미콤)의 기본 버튼레이아웃을 따르면 됩니다.

 

와이파이 설정

파티션 확장

배포한 이미지는 작은 용량의 메모리에서 작성되었으므로, 파티션을 확장하였습니다.

개인환경 설정

ssh로 로그인시 개인 취향에 따라 환경을 설정하였습니다.

 

드림캐스트 해상도

드림캐스트에뮬인 reicast의 설정에서 해상도를 변경하였습니다.

MAME 키 설정

다른 에뮬들은 retropi의 컨트롤러 설정만 잘해주면 되지만, MAME는 별도의 키 설정이 필요합니다. 저는 취향대로 아래와 같이 설정하였습니다.

 

구매한 부품 정보

제가 사용한 부품 정보를 공개합니다. 부품 목록은 어디까지나 참고용이며, 이것대로 주문하시면 배송비가 너무 많이 나올 수 있습니다.

심심할때 용산의 안전사, 라이트컴, 전자랜드 지하1층 등을 둘러보시는 것도 추천드립니다. 자잘한 부품은 동네 전파사, 다이소, 집안 구석구석을 뒤져보시기 바랍니다. 배송비를 고려하여 디바이스마트, 아이에스티몰 등을 통해 한꺼번에 구매하시는 것도 고려해 보시기 바랍니다. 해당 링크는 참고사항이므로 다른부품으로 대체할 수도 있습니다.

라즈베리파이

■ 라즈베리파이 3 Model B : 40,480원, https://goo.gl/ffLVPo
■ micro sd (128G) : 40,020원, https://goo.gl/zXpTt4

mame 위주의 게임을 하시고, psx나 dreamcast 게임을 안하신다면 중고나라에서 라즈베리파이 2 Model B(약 3만원)를 구매하셔도 됩니다. micro sd는 제 생각에는 64GB(약 2만원) 정도도 적당할 듯합니다.

디스플레이

■ 카멜 10인치 PF1050IPS : 91,080원 / https://goo.gl/46LRQj
■ HDMI 꺽임 젠더 (상향) : 1,500원 / https://goo.gl/C7xzu7
■ HDMI 케이블 : 2,840원, https://goo.gl/RRhKZo

카멜 모니터가 가장 비싼 부품입니다. 중고나라에서는 7~8만원에 거래됩니다. 카멜몰(http://smartstore.naver.com/camel)에서 간혹 리퍼가 팔리기도 합니다. HDMI 꺽임젠더는 반드시 “상향”으로 사셔야 합니다. (저는 실수로 하향을 사서 재구매 했습니다) HDMI 케이블은 긴게 필요없습니다. 다이소에서 1.5m가 1500원 정도 합니다.

목제

■ MDF (2세트) : 풍림우드 / 56,000원 / http://www.punglimwood.com
■ 시트지 (2개): 4,000원 / 다이소
■ 크롬몰딩 (차량용, 폭 12mm) : 6,600원 / https://goo.gl/HLM7Z7

MDF는 1세트와 2세트 가격차이가 별로 없습니다. 간혹 2세트 사신분들께서 라즈겜동 장터에서 매물을 올리시기도 합니다. 시트지는 저렴하게 하려면 다이소, 멋있게 하려면 실사출력하시면 됩니다.

컨트롤부

■ 삼덕사 309레버 (목 있는 레버) : 25,000원 / https://goo.gl/K3157p
■ 30파이 푸쉬버튼 (6개, 주력 조작부) : 7,200원 / https://goo.gl/R8TPfk
■ 삼덕사 16mm 푸쉬버튼 (2개, 스타트/셀렉트) : 2,000원 / https://goo.gl/wviBYG

컨트롤러는 개인취향이라 ISTMall에서 적당히 고르시면 됩니다. 참고로 저는 16mm 버튼을 크롬으로 교체했습니다. (https://goo.gl/szSord)

철물

■ 꺽쇠 (모니터 받침 고정, 2개) : 300원 / https://goo.gl/wbqXuw
■ 나사 (레버 고정, 1.5~1.8Cm) : 1,000원 / https://goo.gl/MaAsE4
■ 나사 (꺽쇠 고정, 1cm) : ??
■ 나사 (모니터 고정, 1.5Cm, 지름 4mm) : 400원, https://goo.gl/2ZLeKk
■ M3 지지대볼트 너트 (1cm) : 1,100원 / https://goo.gl/hh33Bm
■ 빠찌링 (3개) : 900원 / https://goo.gl/afviHS

별해는마왕님의 10인치 도면에서 권장하는 MDF는 두께는 12mm 입니다. 적당한 나사를 동네 철물점이나 다이소에서 찾아보시는게 좋습니다. 배송비가 더 비싸요.

전자부품

■ GPIO 케이블 (카페 공제 1p 세트) : 10,000원 / http://cafe.naver.com/raspigamer/10283
■ 전원스위치 : 4,800원 / https://goo.gl/qDhMT4
■ DC 터미널 변환 (5.5F, 2핀) : 700원 / https://goo.gl/LbVY2D

마이애니님의 GPIO 케이블은 정말 강추입니다. GPIO 케이블 대신 납땜을 하셔도 되지만, 유지보수를 위해서는 비추입니다. 직접 만드시려면 youtube의 강좌를 참고하세요 ( https://www.youtube.com/watch?v=RcthC-9Tyec ) 전원스위치도 개인 취향껏 고르시면 됩니다. (예를 들어, 전투기 미사일 발사용 토글 스위치)

전자부품 (번개 방지)

■ 테라 마이크로 5핀 번개 케이블 (3A) : 3,900원 / https://goo.gl/TMpSHv
■ 5V 4A SMPS 아답터 : 9,900원 / https://goo.gl/AFvi9t
■ AWG18 전선 : 7,280원 / http://auction.kr/iAhkoaI

라즈베리파이 전원은 5V 2.5A를 입력 받습니다. 따라서 굵고 짧은 케이블을 사용하여 전원을 입력해 주는게 중요합니다. 그냥 막 연결하면 우측상단에 번개 표시가 뜨더라구요. 저는 위의 구성으로 교체 후에 번개표시가 뜨지 않고 있습니다.

공구

■ [Option] 툴맨 퀵그립 (30cm, 2개) : 14,800원 / https://goo.gl/SiGb3H
■ [Option] 타이트본드 (237mL) : 4100원 / https://goo.gl/ZfS4om
■ [Option] 시트지 밀대 : 500원 / 다이소

퀵그립은 무거운 책, 타이트 본드는 나사, 밀대는 신용카드로 대체할 수 있습니다. 앞으로 계속 바탑을 제작하게 될것 같은 분들은 구매하시는 것을 추천합니다.

오디오

■ [Option] 4옴 3와트 스피커유닛 (2인치, 2개) : 6600원 / https://goo.gl/i3gwe9
■ [Option] PAM8403 오디오 모듈 : 5,500원 / https://goo.gl/w4CaUg
■ [Option] 16파이 볼륨노브 : 250원 / https://goo.gl/H3eKLN

카멜 모니터가 HDMI로 오디오를 지원하므로 불필요할 수도 있습니다. 이 경우 MDF에 16파이로 뚤려있는 볼륨 구멍을 매꾼 후 시트지를 바르시던가, 다른 버튼을 장착하시는게 좋을듯합니다. 소형 오디오 모듈은 납땜이 필요하지만 장착이 더 쉽습니다. (구매 : https://goo.gl/d7dyZC / 납땜 : http://cafe.naver.com/raspigamer/5580)

코인기

■ [Option] 동전투입구 : 3,000원, https://goo.gl/K4o4u3
■ [Option] 아두이노 포토 인터럽트 센서모듈 : 2,600원, https://goo.gl/tRhHA9

10인치에는 기존 코인기가 안들어 가기 때문에 코인기를 자작 하시고 싶으시면 제 기존글 ( http://cafe.naver.com/raspigamer/11579 )을 참고하여 만드실 수 있습니다.

돈통은 취향대로 다이소에서 1000원짜리 조그만 상자를 구매하시면 됩니다.

장식

■ [Option] POP꽂이 (가로 250mm) : 1,350원 / https://goo.gl/r1CfCR
■ [Option] 모니터 테두리 : 0원 / ??

마퀴 부분에 그림을 취향껏 바꾸고 싶으시면 POP 꽂이를 그대로 사용하시거나 딱 맞게 잘라서 쓰시면 됩니다. 모니터 테두리는 시트지 작업하다 남은 것과 집에 있는 우드락을 잘라서 붙였습니다. 테두리 사이즈는 제품 설명을 참고하였습니다. ( https://goo.gl/9B83iW / https://goo.gl/eR2wLJ )

현재 상태

지금 만든 바탑은 계속 튜닝중에 있습니다. 아두이노도 배워서 아래와 같이 튜닝하려고 계획하고 있습니다.

  • 온도센서를 통해 자동으로 쿨러 동작
  • 실행중인 게임을 마퀴에서 확인
  • 아날로그 스틱 추가

현재까지 작업된 바탑입니다.

2018.11.25 추가사항

부팅시 ES / AM / Kodi를 선택할 수 있는 스위치를 추가하였습니다.
GPIO가 점점 모자라기 시작하네요.

부팅선택기 : http://kimstar.kr/8155/

1 댓글

  1. 핑백: 오드로이드 바탑 - Kimstar 3.0

댓글 남기기