본문 바로가기
IT 프로그래밍 관련/하드웨어

라즈베리파이로 아케이드게임기 만들기 (GPIO 조이스틱)

by 지나는행인 2021. 5. 27.
728x90

(PC 모니터이용)

 

라즈베리파이로 이런 저런 것(?)들을 하고 있는데 , 이번에는 예전 레트로 게임이 되게끔 만들어본다.

 

사실 라즈베리파이가 아니면, 그냥 윈도우 컴퓨터에서 에뮬레이터 받고 , 롬파일 받아서 돌리면 그만인데 ,

 

게임도 게임이지만 , 하드웨어적으로 완제품 조이스틱이 아닌 , 버튼과 레버가 분해되어있고 , 일일이 회로를 연결해서

 

게임을 할 수 있도록 해보려고 한다.

 

처음시도는 많이 알려져 있는 레트로게임 OS인 레트로파이를 OS로 삼아 라즈베리파이에서 구동을 시켰는데 ,

 

메인화면에서는 키 설정이 잘되서 되는구나!! 했는데 게임으로 들어가니까, 키보드, 조이스틱이 다 이상해져서 ,

 

도저히 안되겠어서 , 비교적 간단하다고 알려진 RecallBox os 로 재설치하였다.

 

먼저 포맷된 SD카드로 , recallbox os를 옮기는 작업을 한다.

 

이전에 라즈비안을 설치할때랑 같다.

 

윈도우 pc에서 리콜박스 다운로드 페이지에 들어가서 , 리콜박스 os를 다운받는다.

 

https://www.recalbox.com/

 

받은 파일을 라즈비안때와 마찬가지로 ,  win32 disk imager 로 SD카드에 옮겨준다.

 

그러면 라즈비안때와 마찬가지로 SD카드를 라즈베리파이에 넣고 전원을 키면 , 리콜박스로 부팅이 가능하다.

*리콜박스 부팅화면

 

부팅이 되면 환경설정에서 키보드는 키 설정을 들어가서 바로 게임이 가능하다.

 

( 기본 내장 게임이 있음 )

 

하지만 목적은... 쌩 조이스틱을 가지고 연결하는것이다..

 

연결할 조이스틱은 이렇게 생겼다.

 

* 조이스틱 모습

보면 알 수 있듯이, 케이스 없고, 선을 연결해야한다.

 

저 선은 라즈베리파이의 GPIO 회로에 연결하는 것이다.

 

조이스틱 및 버튼 하나하나 다 연결해주어야 한다.

 

이건 레트로파이에서 키 설정에 실패하였었지만, 조이스틱 구동까지는 확인 한 것이 있기 때문에 그대로 진행해보았다.

 

처음에 

 

연결 방법을 몰라 열심히 , 라즈베리파이 GPIO 조이스틱 연결법을 찾아헤맸다.

 

구글에 여러가지가 있어서.. 한번씩 해봤는데 , 잘 되지 않았다.

 

마지막에 찾은것으로 해결 했는데 그 방법이 아래의 그림이다.

* GPIO 조이스틱 배선

조이스틱이 하나 있기 때문에 조이스틱1부분만 연결하였다.

 

이렇게 했더니 일단... 움직이긴 했었다!!!!

 

그래서 이대로 셋팅하였고,

 

리콜박스에서도 조이스틱을 시도했다.

 

근데....근데..... 리콜박스에서 조이스틱이 인식이 되질 않는다.

 

조이스틱이 인식이 되면,

* 조이스틱 인식 화면

위와 같이 , 1 GAMEPAD DETECTED 가 뜬다.

 

그런데 , 아무리해도 저게 뜨질 않는다..

 

방법을 찾던 와중 , 발견한 것이 

 

recalbox.conf 파일에서 조이스틱을 사용 가능하게끔 수정해야 한다고 한다. 

 

맞는지는 모르겠으나 ,해봐야하니까 해보려는데 

 

리콜박스 파일을 만지려면 , 리콜박스 시스템에서 WIFI를 작동시키고, 윈도우PC에서 IP를 쳐서 들어가야한단다..

* WIFI 접속화면

처음엔 WIFI도 잡히질 않았다..

 

이리저리 열심히 하다보니 잡긴 잡았다..

 

이제 윈도우 PC로 가서 , 라즈베리파이로 접속을 해야한다.

 

윈도우 PC 실행에서 \\ip주소    를 입력하면 라즈베리파이로 접속이 된다.

 

그러면 이제 디렉토리가 여러개 보이게 되는데 여기서 

* 리콜박스 디렉토리

recalbox/share/system/ 경로의   recalbox.conf 파일을 메모장으로 연다.

 

이제 하나만 수정하면 된다.

* recalbox.conf 파일

위의 빨간칸의 숫자가 0으로 되어있었다.

 

이 부분이 조이스틱 설정이라 한다.

 

이 숫자 0을 1로 바꿔주고,

 

리콜박스를 재시작 시켜주고

 

컨트롤러 설정에 들어가니!!!!!   GAMEPAD 가 잡힌다!!!!!!

 

위, 아래 , 왼쪽, 오른쪽... 등등 설정을 해보고 게임을 실행시켜보니

 

레트로파이때와는 다르게... 설정한 키가 그대로 적용되서 컨트롤이 가능하다..

 

이래서 리콜박스가 더 환경설정이 쉽다고 했나보다...

 

감회가 새롭다...

 

이렇게 별거 아니게 글을 썻지만 .. 레트로파이때부터 방법을 모르고 , 자꾸 인식이 안되고 해서

 

며칠을 해서 리콜박스로 완성을 한 것이다.

 

나는 조이스틱 GPIO로 연결하는 그런 하드웨어적인 부분을 해보려고 이렇게 만들어 본거지만,

 

그런게 아니라면 , 월광보합 그냥 돈주고 사는게 낫겠다.

 

물론 이런 부분을 잘알아서 , 한번에 쉽게 인식, 성공 이렇다면 말은 다르겠지만..

 

휴..그래도 성공한 것에 의의를 두고 있는 중이다.

 

근데 .. 조이스틱이 케이스가 없어서 . 실행이 되도 게임을 잘 못한다....만들어야하나..

* 조이스틱 연결 사진

 

 

 

 

 

 

 

댓글