먼저 코딩을 해주자!


http://hunt.net.nz/users/darran/weblog/15f92/Arduino_UNO_Big_Joystick_HID_firmware.html

이주소를 기억하는가?

펌웨어를 다운받았던 주소다

여기에 좋은 소스들이 있으니 마음에 드는거 하나 가져오자


현재 갑자기 서버가 다운?되어있다.. 접속이 안되넹?


일단 첨부파일에 그전에 다운 받았던 파일을 하나 넣어두겠다


riclamer_big_joystik.ino


참고로 난 이코드가 완벽하게 정상작동 하지 않았다..

아날로그가 따로 놀던가..

버튼이 안먹히던가

그래서 아날로그가 작동하는 소스와 버튼이 작동하는 소스를 보고 짜집기 했다 ㅋㅋㅋㅋㅋㅋ 소스는 이해했으므로 패스

( 수정은 알아서! )

그리고 74HC165 칩셋을 위해 코드도 약간 추가해줬다

( 추가는 알아서! )


ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ무책임하다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

진짜 모르겠으면 댓글

(읽을놈이 있나?)





다음으로..


부트로더를 굽자!


윈도우키 + R 를 눌러서 'cmd' 를 입력해서 도스창을 띄우자


도스창에다가

cd ~dfu-programmer-win-0.7.2 가 설치된 폴더~ 를 입력하자

예시 : cd C:\dfu-programmer-win-0.7.2


그 다음 아두이노로 돌아가자


나는 아두이노 미니를 사용해서, usb 시리얼을 사용했다

사진 기준으로 제일 왼쪽에 있는 위아래 핀을 접촉시키자

(ICSP라고 써진곳이다)

그러면 부트로더를 구을 수 있는 상태가 된다

잘 모르겠다면 : http://blog.naver.com/msyang59/220064215723

이 블로그에 아주 자세히 설명되어있다


그 다음 다시 도스로 돌아가자

그리고 이 3 명령어만 메모장에 저장해두자


dfu-programmer atmega16u2 erase

( 말 그대로 기존에 있던걸 지운다 )

dfu-programmer atmega16u2 flash 펌웨어의 경로

( 새로운 펌웨어를 설치한다 )

dfu-programmer atmega16u2 reset

(리셋한다)

예시 :


dfu-programmer atmega16u2 erase
dfu-programmer atmega16u2 flash C:\Arduino-big-joystick.hex
dfu-programmer atmega16u2 reset


(허니팁으로 메모장에 한번에 복사하고, 복붙하면 알아서 순차적으로 실행된다 ㅋ 개꿀ㅋ

원리는 도스는 \n 즉 엔터가 있을때 마다 명령어를 새로 입력받기 때문)



그리고 usb를 컴퓨터에서 뺐다 껴야 정삭작동 할것이다


ppsspp 같은 프로그램은 바로바로 컨트롤맵핑에서 키 수정이 가능한대,

GTA5같은 게임은 따로 프로그램이 필요하다

( 이것 뿐만 아니라 다른 패드들도 그렇다, 예로들어 조이스틱 핸들등 )

 XBOX패드로 인식하게 해주는 프로그램인데, 'gta5 조이스틱 핸들' 이라고 검색하면 쉽게 구할 수 있다


아무튼 여러 방법으로 정상작동을 확인하고, 문제가 있으면 똑같이 아두이노 펌웨어로 설치하고,

코드를 수정하고, 반복하다 보면, 정삭작동 할것이다

문제가 있으면 댓글









blog image

Written by Pichachu


저번 0부에서 틀을 만드는게 좋다고 했는데

그러므로 먼저 틀부터 만들겠다

하지만 난 손곶.. 그러므로 프로토타입과 큰 차이가 없고.... 작은 브래드보드만 썼다 뿐이라 카더라,.,ㅠㅠ

(납뎀을 해서 만드려 했는데 프로그래밍만 해봐서 보드에다가 따로 납뎀해서 하는건 할줄도 모를뿐더러 해보려다가 74HC165칩만 날렸다ㅋㅋ ㅂㄷㅂㄷ)

틀은 뭐.. 각자 튀향대로 만들자!

우선 내가만든 게임패드 틀


어라? 어디서 많이 봤...

그렇다 뻥튀기다 ㅋㅋ

뻥튀기는 여기까지!


대충 나는 이런식으로 틀을 만들었다

다만 귀찮니즘이 발생하여 아랫쪽 판을 사각형으로 대충 만들었다는거 뿐?

심지어 비뚤어짐



다음은 핀을 꼽아보자

버튼을 많이 사용할 예정이므로

74HC165 칩셋을 장착했다

74HC165 강좌 : http://wei48221.blogspot.kr/2015/06/how-to-use-shift-register-74hc165.html

참고로 74HC165는 3개의 핀을 이용해서 8개의 핀을 추가로 사용 할 수 있는데

처음 8개의 핀에 아무것도 연결 안하고, 테스트를 하면 이상하게 작동하는데,

8개의 핀 모두 10k와 연결된 GND와?(비정확ㅋㅋ) 연결되어야 정상 작동하니 참고하자

74HC165만 장착한 상태



버튼을 장착한 상태
(L,R 버튼을 까먹고 장착 안하고 완성을 해버려서 버튼 넣느냐 고생했다 ㅋㅋ)



( 3D 프린터 탐스럽다.. 근대 쓸줄은 모른다 ㅠㅠ )

L,R 버튼을 넣었다 ㅋㅋ 개고생했다..


완성!

사진 뒤집기 귀찮다



다음에는 게임패드 코딩과 아두이노 부트로더를 조이스틱으로 바꾸겠다!
솔직히 이번글은 읽는건 빠르지 제일 오래걸렸다..ㅋㅋㅋㅋ
코딩이 제일 쉽다..
74HC165 칩셋을 사용 할 수 있게 코딩을 약간 수정해야 하기 떄문에
조금 귀찮을것 같다 ㅋㅋ


blog image

Written by Pichachu


원리부터 말하자면

아두이노에다가 미리 소스코드를 업로드하고, 조이스틱 게임패드 부트로더를 구워버리는 방식


준비물은 간단하게,

부트로더 펌웨어와 dfu-programmer, 버튼, 아두이노

가 되겠다

퀄리티 있는 게임패드를 만들고 싶으면 74H165 칩셋을 준비하자

(꼭 74H165 일 필요는 없다, 입력포트를 추가 해 줄 수 있는 칩셋이면 된다)

아 당연히 보통 아두이노로 돌아올 때 필요한 아두이노 부트로더 펌웨어도 필요하다

다운로드 주소에 같이 있으니깐 꼭 다운로드 받자



참고로 현재 만드려는 조이스틱 게임패드의 버튼 수는

방향키 : 4 개

세모, 동그라미, 네모, 엑스 : 4개

위아래 L,R 버튼, 각각 2개 : 4개

총 버튼수만 12개다

또한

좌우 조이스틱 : 2개

여기서 문제가 있는데, 나는 까먹고 조이스틱 한개를 준비 못 했다.. ㅠㅠ


버튼수에서 감이 잡혔을지 모르겠지만

사진 : http://image.search.naver.com/search.naver?where=image&sm=tab_jum&ie=utf8&query=%EC%97%91%EB%B0%95%ED%8C%A8%EB%93%9C

그렇다 엑박패드가 목표다



다운로드 :

dfu-programmer : https://dfu-programmer.github.io/

 ( 스크롤을 내리다 보면 download 란을 찾을 수 있을것이다, 거기서 project를 누르면 된다

못 찾겠으면 http://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.7.0/  )


조이스틱 펌웨어 : http://hunt.net.nz/users/darran/weblog/15f92/Arduino_UNO_Big_Joystick_HID_firmware.html

(여기서 아두이노 우노 펌웨어도 같이 올려져 있다 , 이 블로그에서 키보드 같은 다양한 부트로더 펌웨어들이 존재한다 )

+추가 : 아두이노 미니 or 아두이노 프로 미니를 사용중인데, 펌웨어가 없다! 해도 그냥 여기있는 아두이노 우노 펌웨어를 받아서 설치하면 된다. 내 아두이노 미니의 경우에는 이후에 아두이노 우노로 보드를 선택해야 업로드가 된다... 작동은 처음 부팅할 때 약간 딜레이가 생긴다는거 빼고, 정상작동함, 그리고 아두이노 프로 미니는 왜인지 아두이노 프로 미니 보드를 선택해야 업로드가 된다 ㅋㅋ 


코딩보다 앞서, 도면을 먼저 만들자

안만들면 아래 사진처럼 흉작이 되어버린다( 물론 작동은 잘되었다..)



( 74H165를 사용하지 않을경우, 사진처럼 모든 버튼을 만들 수 없다 )

그켬.. 보기만 안좋을 뿐더러 심지어 케이블이 왼쪽으로 빠져나오기 때문에 손에 걸리적 거린다 ㅂㄷㅂㄷ

버튼이 부족해서 주문하기전에 찍은 사진이다.. 왼성본은 왼쪽에 버튼이 재대로 생겼다

그리고 코딩을 확인하기 위한 프로토타입이라서 74H165 칩셋을 장착하지 않았다 그래서 2개정도 버튼을 장착하지 못 했다


도면에 감이 안잡힌다면 아래 사진을 참고하자

나는 에이포 용지에다가 대충 틀을 잡았다


사진이 뒤집혔다

나름 자를 이용하여 비율있게 그렸다..

그것을 토대로 자른 모습






대충 버튼을 넣은 사진

스티로폼 커터가 플라스틱을 무리하게 자르다 끓어졌다 ㅋㅋㅋㅋ

그래서 칼로 자르는데.. 여기서 1차로 망했다

구멍을 뚫는데, 송곳이 안보여서

그냥 칼과 가위로 뚫었다

여기서 2차로 망했따

ㅋㅋㅋㅋㅋㅋ

시댕

0부 마침


blog image

Written by Pichachu