카테고리 없음

조이스틱 RF 무선 통신으로 RC카 제어

abc0123 2017. 12. 15. 06:57
반응형

 

앞글에서 [아두이노 나노] 두 개를 이용해서 RC카와 조이스틱에 각각 RF 무선 통신 모듈을 붙인 후 무선 제어를 해보는 예제를 만들어봤었다.

 

무선통신조종

 

하지만 내가 갖고 있는 조이스틱이 한 개밖에 없어서 앞, 뒤, 좌, 우 네 방향으로 모두 움직이는 데는 한계가 있었는데 그 예제를 만들어본 후 바로 버튼 두 개를 브레드 보드에 붙여서 앞, 뒤로 움직이도록 조이스틱을 개조를 해봤었다.

 

버튼 추가

 

▲ 사진에 보이는 것처럼 버튼 두개를 넣어서 앞, 뒤의 움직임을 담당하도록 해봤는데... 당연히 제대로 작동은 한다. 하지만 뭔가 엉성하고 맘에 안 들더라. ㅎ 그래서 후다닥 조이스틱을 두 개 더 구입해서 사용해보기로 했고 주문하니 다음날 도착을 했다.

 

 

새로온 조이스틱

 

▲ 활용도가 높을 거 같은 다른 센서 몇 개와 함께 주문을 했는데 일단 포장지를 뜯기도 전에.... 기존에 갖고 있던 조이스틱보다는 퀄리티가 떨어지는 게 느껴진다.ㅠ.ㅠ

 

퀄리티 낮음

 

▲ 역시 새로 구입한 녀석들의 손잡이 부분이라던가 움직임이 확실히 기존의 것 보다는 못하다. 하지만 제 역할만 제대로 해주면 크게 문제 될 건 없을 거 같으니 버튼 들을 제거하고 그 자리에 하나를 붙여본다.

 

연결

 

▲ 이렇게 연결한 후 기존에 있던 건 좌우 회전을 담당하는 모터를 제어하도록 했고 새로 붙인 녀석은 전진과 후진을 담당하도록 했다. 이제 이 녀석들이 전달하는 데이터 값을 받기 위해서 기존의 조이스틱은 y 값만 전달하도록 A1에 연결을 했으며 새로운 녀석은 X 값만 전달하도록 A0에 연결을 한 후 코딩을 다음과 같이 살짝 수정을 했다.

 

 

소스코드1

 

▲ 필요한 헤더 파일을 추가하고 초기화하는 구간은 손댈게 없으니 앞쪽 글에서 처음 RF 통신을 준비하면서 작성한 것 그대로 사용을 했다. 그래도 혹시 참고하실 분들이 계실지 몰라 코드 전체를 올려본다.

 

소스코드2


▲ 반복 구간인 loop()에서도 크게 수정된 건 없다. 단지 기존에는 하나의 조이스틱에서 X, Y 값을 모두 받아왔다면 이번에는 X 값은 새로운 녀석에게서 받도록 한 것 뿐이다. 즉, 조이스틱 하나당 각각 하나의 값들만 전달하게 될 것이다.

 

그리고 지금 만들어보고 있는 기본 RF 통신 연결 과정은 이번 글에서 마무리하고 다음 글부터는 새로운 센서들을 붙여서 업그레이드 하는 과정으로 진행이 될듯하니 자동차쪽에 업로드 되어 있는 파일도 함께 첨부해본다.

 

자동차쪽

 

▲ 특별한 건 없다. 역시 RF 통신 만드는 과정에서 모두 정리했던 내용인데 혹시 참고하실 분들 계실까 해서 추가해보는 거다.

 

 

모터제어

 

▲ 마지막 모터 제어 구간도 별 건 없다. 그저 들어오는 데이터에 따라서 모터의 회전 방향을 정해준 건 밖에 없다. 이제 이 파일들을 각각 자동차와 조이스틱 쪽에 업로드한 후 테스트를 해본다. (모터 회전 소리가 조금 시끄러울 수도 있으니 혹시 음량이 높다면 살짝 조절하고 확인하시길 바라며...^^)

 

 

▲ 이처럼 두 개의 조이스틱으로 RC카를 제어할 수 있는 상태가 됐다. 저 점퍼 선들은 어찌 정리를 하던가 좀 더 큰 자동차를 사던가 해야 각종 센서들을 저 위에 붙일 수 있을 거 같다는 생각이 드는데... 이런 거 산다고 하면 눈치를 많이 봐야 해서 어떻게 될지는 모르겠다. ㅎㅎ

 

여하튼 이렇게 해서 무선 조이스틱으로 RF 통신을 이용해서 RC카를 조종할 수 있는 상태까지는 만들어봤고 다음 글부터는 하다못해 LED를 이용해서 라이트로 붙이고 각종 거리 측정 센서를 붙여서 장애물을 피하는 등의 예제를 만들어보기로 하고 여기서 마무리하자.

반응형