본문 바로가기
일상만사

디맥콘 자작! 리듬게임 컨트롤러 제작기 (DJMAX Respect V Controller DIY)

by 배고픈마리오 2021. 10. 1.
반응형

 팝픈콘과 비트콘에 이어 이번에는 예고 드린대로 디맥콘 제작기를 써보겠습니다. 디제이맥스 리듬 컨트롤러의 제작과정을 적기 전에 완성작의 특징을 요약해 보자면, 일단 키보드 입력방식이기 때문에 PC에서만 사용이 가능하구요. 버튼개수는 총 16개(측면 버튼 2개 포함)이며, 측면버튼 2개를 제외한 14개 버튼은 버튼을 누를시 LED가 발광합니다.  사이즈는 최대한 슬림하게 설계해서 355x195x71mm (가로x세로x높이) 입니다. 형상은 일반적인 직사각형 형태 대신 모서리가 라운드 처리된 둥근 직사각형 형태로 만들었습니다.

 

컨트롤러 케이스 샘플은 '지크리에이터'에서 도면을 약간 수정해서 에코보드로 재단해 주셨습니다.
측면 3D가공으로 라운드 처리가 되어있어서, 라운드 부품을 다단으로 쌓는 작업은 피할 수 있었습니다.

 

 

앞전 비트콘 제작때와 마찬가지로 상판 아크릴을 체결해 줄 홀에는 가시너트를 박아주었습니다.
사진과 달리 가시너트는 케이스 조립전에 미리 박아줘야 합니다. 

네 모서리에 가시너트를 모두 박아준 사진입니다.

 

측면은 카본 시트지를 부착해 주었습니다.
곡면부분은 부착시 주의가 필요합니다.

 

이번은 상판 아크릴 밑에 넣을 인쇄물 작업입니다.
출력은 PET인쇄를 했는데, 다음부터는 일반 시트지로 해야겠습니다.
한번에 잘리지가 않아서 애를 좀 먹었네요.
참고로 인쇄는 무광으로 하세용. 유광으로 하면 유광코팅막이 아크릴과 접촉시, 유막현상으로 인해 마치 물이 새들어간 것 같은 커다란 얼룩이 생길수 있습니다. 무광으로 하면 이런 현상을 확 감소시켜줍니다.

아크릴 두께는 8T 입니다. 아크릴은 면치기 4X4mm 처리하였습니다.

 

아크릴은 두께 8mm 짜리를 사용하여 묵직합니다.
아크릴 체결은 M4규격의 길이 20mm 짜리 트러스머리 볼트로 체결하였습니다.

 

상판에 리듬 버튼을 체결해 주었습니다.
직사각형 버튼이 10개, 정사각형 버튼이 4개, 그리고 우측면에 16mm 푸시버튼이 2개 해서 총 16개 버튼을 사용하였습니다. 내부 스프링은 기존 100g에서 30g짜리로 모두 교체하였습니다.
버튼은 스프링 30g + 마이크로 스위치 75g = 대략 100g 정도의 압력으로 작동됩니다.

 

하판 뚜껑 체결을 위한 지지대 부품입니다. 앞서 비트콘 제작기를 보신분이라면 앞으로 제가 어떻게 조립할것인지 벌써 눈치챘을 겁니다. 가시너트를 정사각형 부품에 망치를 이용하여 박아줍니다.

 

지지 기둥의 조립위치는 하판 홀 위치에 맞게 적당히~ 잘~ 요령껏~ 위치를 잡아주었습니다만, 이거 아무래도 애초에 설계할때 가이드 구조물을 마련해 놓지 않아서 위치잡기가 불편하네요. ㅜㅜ

 

초기에는 아래 사진과 같이 알리익스프레스에 많이 팔고 있는 키보드 기판을 사용하려고 했는데요. 이건 사용할수 있는 키가 한정적이고, LED 발광에 좀 문제가 있더군요. 제가 원하는건 리듬버튼 누를때만 발광되는 것인데 이건 항상 발광이 됩니다. 배선조정으로 커버하려고 했으나 안되더군요. 내부 회로 배선 자체가 안되는 모양입니다. 그래서 기판하나 그냥 버린셈이 됬습니다. 이건 나중에 다른용도로 쓰던지 아니며 필요하신분께 팔던지 해야 겄습니다. ㅜㅜ

 

일단 PCB 기판은 잠시 뒤로 미뤄두고, 나머지 외관작업을 계속했습니다.
바닥 미끄럼 방지용 실리콘 범폰과 M4규격의 길이 14mm 트러스머리 볼트를 준비합니다.
실리콘 범폰 중앙에 볼트를 삽입할수 있도록 구멍이 나 있고 3M 양면테입이 붙어있는 범폰입니다.

 

두께 3mm 짜리 하판용 아크릴을 지지기둥위에 얹은 다음, 아래 사진처럼 순서대로 체결해줍니다.

 

외관 완성입니다.
아직 내부 부품이 없지만, 벌써 다 만든것 같은 느낌이 듭니다.
버튼 레이아웃은 PC스팀게임 디제이맥스 리스펙트 V 에서 디폴트로 지정되어 있는 키배열 구조를 그대로 따왔습니다.

 

제가 구상한 버튼은 아래와 같습니다.
DJMAX RESPECT V PC스팀게임에서 기본으로 정해져 있는 초기 키세팅을 그대로 적용하되, 개인적으로 꼭 자주 사용하는 버튼 위주로만 구성하였습니다. 위/아래 방향키는 8B 플레이시에만 쓰이는 트랙L, 트랙R 과 공용으로 쓰도록 하여 버튼수를 줄였습니다.

 

 

이제 내부를 다시 손봐야 할 차례입니다.
아무리 생각해도 아두이노 밖에 없었습니다.
비트콘 스트래치 디스크 제어용으로 금손분들이 아두이노 레오나르도를 많이 쓰시는건 봤는데, 저는 남의 얘기인줄 알았거든요.  제가 쓰게 될줄은....  ㅎㅎ 저는 아두이노 실물 한번도 본적 없는 초짜인디...
아무튼 아두이노 레오나르도와 40핀짜리 점퍼선(M-M)을 하나 질렀습니다.

 

아두이노는 저도 초짜인지라
답변해줄 실력이 못되기에,
기본적인 사용법이나 코딩에 대해서는 아래 링크들로 대체하겠습니다.

https://thrillfighter.tistory.com/583

 

아두이노 스케치와 개발환경(IDE) 설치하기

아두이노 스케치(sketch)란 아두이노에 업로드 시키는 소스 코드를 일컫는다. 이 소스코드는 C언어 문법과 비슷한 문법으로 작성해서 아두이노에 업로드 시키는데 이를 도와주는 IDE를 다운로드

thrillfighter.tistory.com

https://www.arduino.cc/reference/ko/language/functions/usb/keyboard/keyboardpress/

 

Keyboard.press() - 아두이노 참조

설명 Keyboard.press() 가 호출되면 키보드에서 키를 누른 상태로 유지되는 것처럼 작동합니다. modifier keys를 사용할 때 유용합니다. 키눌림을 끝내려면 Keyboard.release() 또는 Keyboard.releaseAll()를 사용하

www.arduino.cc

https://www.arduino.cc/reference/ko/language/functions/usb/keyboard/keyboardmodifiers/

 

Keyboard Modifiers - 아두이노 참조

설명 Keyboard.write() 와 Keyboard.press() 와 Keyboard.release() 명령은 모든 ASCII 문자에 대응하여 작동하지 않습니다. 특히 키보드로 입력 할 수없는 ASCII 문자는 더욱 주의해야 합니다. 예를 들어, 백 스페

www.arduino.cc

 

아두이노 레오나르도 기판의 핀구조입니다.
저도 잘 모를때 볼 목적으로 구글링해서 봤던 이미지를 첨부해봅니다.
저는 우측의 (0)~(13)번, 좌측의 (A0)~(A1), 좌측의 5V 출력과 Ground 핀을 사용할 예정입니다.
핀하나가 리듬버튼 하나에 매칭되는 방식입니다.

 

연결할 케이블의 배선 구조는
비트콘 제작때 사용했던 알리익스프레스 3핀짜리 LED기판의 배선구조와 동일합니다.

연결 케이블은 점퍼선을 이용하여 수작업으로 만들어 주었습니다.
버튼수가 16개이니까, 대충 계산해도
신호선 터미널 단자 압착작업이 2번 X 16개 = 32번
5V 출력선 터미널 단자 압착작업이 16번
그라운드선이 16번

이렇게 작업횟수를 계산해보니,
선을 잘라서 외피 벗기고, 단자압착하는 작업을 64번을 해야 합니다. ㅡㅡ
한참동안의 지루한 케이블 작업을 완료한 다음, 버튼과 기판에 케이블 연결을 해주었습니다.


버튼수가 많고, 버튼이 좁은 공간에 오밀조밀 모여 있다보니, 선정리를 못하겠더군요.
하판을 투명 아크릴로 하여 내부가 보이는 구조로 하였는데, 원래는 뭔가 전자적인 화려함을 보이려 했던 의도가 퇴색되고 그냥 정리정돈 안된 내부모습만 보이게 됬네요. ㅎㅎ (어차피 바닥이라 안보여서 상관없기는 합니다만)

구형 휴대폰 충전용으로 많이 쓰는 5핀 케이블을 이용하여 아두이노와 PC를 연결한 다음, 코딩 내용을 업로드 하고, 제대로 작동하는지 테스트를 해봤습니다.

 

DJ MAX 리듬 컨트롤러 LED 발광 테스트

 

버튼 LED 작동 영상입니다.

https://youtu.be/cVIzn3oiP30


LED 발광이 정상적으로 동작합니다.

DJ MAX 게임에서 테스트 해보니 별다른 키설정 과정없이 모든 키가 정상 동작했습니다.
8B 플레이시 Track L, Track R 버튼만 아래와 같이 변경해 주었습니다.

 


동시버튼은 6개까지 인식이 되었습니다. IST몰에서 파는 리듬게임용 LED기판의 동시버튼 인식개수가 6개였는데, 아두이노도 똑같은 수준이였습니다. 물론 코딩하기에 따라 그 이상도 가능한지는 제가 초짜라 잘 모르겠네요 ^^

마지막으로 자작한 디맥콘 완성 사진 몇장을 더 올려봅니다.

 

사용한 부품에 대한 정보와 구매처는 예전 비트콘 제작기를 참조하면 되겠습니다.
   비트콘 제작기 : https://malio.tistory.com/340
혹시, 도면이 필요하신 분은 비밀댓글로 메일주소를 남겨주시면 보내드립니다.

반응형