납땜없이 PICO 보드로 무선 조이스틱 만들기
지난번 PICO 2W를 이용한 듀얼센스 무선 리시버 만들기 (오픈소스)를 하면서 문득 들었던 생각이
블루투스 말고 2.4g 무선으로 통신하는 조이스틱을 만들어볼까? 라는 생각에 한번 해봤습니다....
목표는 크게 2가지
- 납땜없이
- 최대한 저비용
이 목표였습니다.
개인적으로 무선스틱을 선호하는 사람으로 자작으로 엑원 무선 스틱, 듀얼센스 무선스틱은 이미 만들어둔지 오래지만
가장 큰 문제는 엑원패드, 듀얼센스를 분해해서 기판에 직납 배선 작업을 해야하는 것과 패드+리시버 비용이 적은 비용은 아니라는 것입니다.
그래서 무선스틱을 사용해보고 싶은 사람들(?)을 위해서 최대한 강좌 형식으로 게시물을 작성하오니 혹시나.. 혹시나
무선스틱을 만들어보고 싶은 분들은 츄라이 해보시길 바라지는 않습니다(?)
참고로 pico 보드를 이용한 게임 컨트롤러 펌웨어는 훌륭한 오픈소스가 이미 존재하고 있고
중국산 히트박스 등에 많이 이용되고 있습니다. 다만 유선 연결이지 무선으로 구동되는 제품은 제가 검색해본 바로는
1개의 제품이 있는데 그 마저도 납땜을 해야하는 제품이라 패스
일단 저는 이미 무선 스틱이 많습니다... 많아요..
강좌 기준으로 들어가는 부품 가격입니다.
대략 3만원 정도 합니다.
조이스틱 레버/버튼 연결시에 필요한 케이블도 별도의 납땜이나 공구없이 가능
송신기/수신기에 필요한 기본 메인 부품
라즈베리파이 피코 1 / NRF24L01+ 무선통신모듈 / 무선통신 어댑터 모듈
무선모듈과 어댑터를 이런식으로 결합
피코는 핀헤더를 장착해서 점퍼케이블(듀폰케이블) 로 무선모듈과 연결
피코에 핀헤더가 납땜된 제품은 국내에서도 판매중이지만 알리가 더 쌉니다. 참고
송신기 무선모듈 쪽에 전원인가를 해줄때 필요한 케이블 제작
별도의 공구 필요없이 칼이나 사람의 이로 벗겨서 꼬아서 전기테이프로 감아주면 충분합니다.
위의 배선도에 각 배선 위치를 표시해두었으며 무선모듈 어댑터에 친절하게 인쇄가 되어있기 때문에 맞는 곳에 꼽기만 하면 됩니다.
GP26, 27 VCC 전원 출력부는 위에 꼬아서 만든 케이블을 연결하면 됩니다. (2개가 1개로 입력)
나중에 다시 설명하겠지만 별도의 전원 스위치가 없이 설계를 했고, 일정시간 사용을 하지 않으면 자동으로 슬립모드로 진입합니다.
송신 모듈쪽은 배터리가 필요합니다.
간단하게 엑원패드나 듀얼센스도 배터리가 내장되어있듯 배터리가 있어야 동작을 하니까요
AA 배터리 3개로 전원을 공급합니다. 배터리홀더 후면에 스위치를 ON 을 해주셔야 합니다. (그래야 전원이 나가요..)
수신기 쪽은 좌측 조이스틱부가 필요없고 우측 무선모듈쪽만 연결해주면 됩니다.
무선모듈어댑터로 들어가는 전원 핀이 다릅니다. 참고
수신기는 PC와 USB C 케이블로 연결해둡니다. (알리에서 주문할때 USB C 타입 피코로 주문하면 됨)
그렇게 완성된 조이스틱의 모습.
조이스틱 케이스는 알리/타오바오에 판매자가 있으니 혹시나 구입하시려면 그쪽을.. (가격이 꽤 나감)
본 피코를 이용한 2.4g 무선스틱 제작은 구글 제미나이가 만들었습니다.
그리고 제미나이에게 레이턴시 (지연율)에 대해 정리해달라고 했더니 저렇다고는 하는데 정확한건지는 모르겠네요.
아래는 무선스틱 소스 입니다.
소스(펌웨어) 설치법입니다.
펌웨어를 전송하기 위해 PC에 최초 연결시 BOOTSEL 버튼을 누르면서 PC에 케이블로 연결
(사진의 피코는 신경쓰지 마세요)
그렇게 연결하면 RP2040 외장장치가 인식되며 받아둔 파일중 adafruit-circuitpython-raspberry_pi_pico-en_US-10.2.1.uf2 파일을 루트에 그대로 복사.
복사가 끝나면 자동으로 펌웨어 설치 (10초도 안걸려요)
끝나면 케이블 재연결
케이블을 재연결하면 CIRCUITPY 라는 외장장치가 잡히고 받아둔 파일중 송신부/수신부를 구분해서 파일을 넣어주면 됨
정상적으로 동작하고 연결이 되었다면 스팀 설정에서 컨트롤러 설정을 해줘야 합니다.
범용 코드로 작성되어 xinput 으로 동작하지 않기 때문에 스팀 설정에서 컨트롤러 인식을 시켜줘야 합니다.
제미나이 답변으로는 2450mah 충전지를 사용시 연속사용 80시간 정도 가능하고,
올려둔 소스에는 10분간 사용이 없을시 대기모드로 진입하며 대기모드시 50일 이상 간다고 합니다. ........
스타트 버튼을 2초간 누르면 깨어납니다.
처음 전원 인가시에도 대기모드로 진입해있기 때문에 스타트 버튼을 2초간 눌러야 사용이 가능합니다. 참고
































(IP보기클릭)175.193.***.***