아두이노 에어마우스

by DIYproject | 2018-01-15 17:11
아두이노


공중에서 사용할 수 있는 에어마우스를 일상 생활에서 쓸 일은 그리 많지는 않다. 최근들어 다양한 기능을 지원하는 스마트 티비의 개발과 함께 좀 더 다양한 동작을 할 수있는 에어마우스 형태의 등장했긴 했으나 아직까지 컴퓨터를 사용하면서 에어마우스를 쓸 일은 거의 없는것 같다.

하지만 게임이라면 이야기가 달라진다. FPS 게임의 경우 총의 조준을 마우스로 하지만 실감나는 게임을 위해 실제 총과 비슷한 콘솔을 이용하기도 한다. (Wii의 눈차크, 플레이스테이션등) 그래서 이번에는 FPS 게임을 위한 FPS 게임 컨트롤러 프로토타입을 제작해 볼 것이다.


                    

우선은 MPU6050과 NRF24L01 모듈이 필요하다. 무선으로 제작할 계획이기 때문에 NRF24L01 모듈을 이용했으며 사용법은 하단의 링크를 참고하자


NRF24L01 모듈 사용법

 http://diy-project.tistory.com/2


 무선이기 때문에 송신부와 수신부를 각각 제작해야한다. 각각의 모습은 아래와 같다.


송신부


 수신부

출처 : https://microcontrollerelectronics.com/using-an-nrf24l01-module-to-scan-the-2-4ghz-frequency-range/


처음에는 MPU6050의 기본 예제를 이용해서 에어마우스를 구연하려고 했으나 어마어마한 딜레이로 마우스가 절대 부드럽게 움직이지 않았다. 수많은 검색 끝에 국내에서 에어마우스에 관해 쓸만한 자료 두 곳을 찾았다. 소스코드는 두 곳을 모두 참고해 작성했다.

1. https://kocoafab.cc/make/view/445

2. http://cafe.naver.com/arduinostory/18039

첫번째 참고 사이트에서 국내의 거의 유일한 에어마우스의 완성도 높은 코드를 구할 수 있다. 하지만 많은 사람들이 I2C 통신 오류로 실패를 한 코드 이기도 하다. 필자 또한 스케치에 이 코드를 업로드 했을때 I2C관련 오류로 삽질을 좀 했다. 결국 두번째 사이트에서 해답을 찾을 수 있었는데, 첫번째 사이트의 코드가 완전한 코드가 아니었기 때문에 오류가 발생 한 것이다.


최종적으로 완성한 코드와 필요한 라이브러리는 아래 링크에서 다운받을 수 있다.

http://diy-project.tistory.com/12


아래는 테스트 영상이다. 이 글이 에어마우스를 시도하는 많은 사람에게 도움이 되길 바란다. 


댓글 1

MADE BY

아두이노 FPS 게임 컨트롤러 제작 다음글 아두이노 에어마우스현재글