카테고리 없음

아두이노 RC탱크 만들기

abc0123 2017. 11. 7. 13:37
반응형

 

지금까지 블루투스 모듈을 익히기 위해서 '컴퓨터'와 '아두이노'간에 통신도 해보고 '스마트폰의 앱'과 연결해서 아두이노의 LED를 제어하는 예제까지 만들어봤는데 이제 이 녀석을 이용해서 RC탱크를 만들어보려 한다. 말이 RC 탱크지... 그냥 유선 탱크 장난감에서 선을 잘라버리고 그 위에 아두이노와 블루투스 모듈을 올린 후 스마트폰의 앱에서 그 녀석을 조정해보는 과정이다.

 

 

블루투스

 

위 글들은 지금까지 블루투스 모듈을 익히기 위해서 만들었던 예제들이고 이번 글에서는 아래 영상과 같은 장난감을 만들어보려고 한다. 그런데...ㅠ.ㅠ

 

▲ 집에 굴러다니는 9V 건전지만을 사용했더니 힘이 부족하다.ㅠ.ㅠ 더군다나 탱크의 궤도를 돌리는 건 일반 바퀴보다 힘이 많이 들어가기 때문에 탱크를 만들려면 일반 'RC카'보다는 배터리에 신경을 써야 할듯싶다.

 

 

여하튼... 힘이딸려서 문제지 내가 원하는 대로 제대로 작동하니 '유선 장난감 탱크'의 선은& 잘라버리고 아두이노와 블루투스 모듈을 올린 후 스마트폰 앱으로 녀석을 제어하는 과정을 정리해보자.

 

유선 장난감

 

▲ 이번에 이용하려는 녀석이다.

 

유선 조종기

 

▲ 원래는 이렇게 유선으로 연결이 돼서 앞, 뒤, 좌, 우로 움직이는 탱크인데 이걸 잘라버리고...

 

아두이노 올리기

 

▲ 아두이노를 올려서 무선으로 만들어보려는 것이다. 처음에는 저렇게 올리고 모터 모듈이나 배터리 등을 올리면 어찌어찌 만들어지겠구나 했는데 어림도 없는 생각이었다. ㅎㅎ

 

준비물들

 

▲ 저 작은 탱크 위로 올라가야 할 것들이 많다. ㅎㅎ 일단 아두이노 보드가 올라가야 하고 2채널 모터 드라이버와 블루투스 모듈 및 9V 배터리 2개가 올라가야 한다. 물론 제대로 이 녀석을 작동하기 위해서는 좀 더 큰 배터리를 사용해야 할 것이다. 9V를 사용하면 맨 앞에서 본 영상처럼 힘없는 탱크밖에 안된다. ㅎㅎ(9V 하나는 모터를 돌리고 하나는 아두이노에 전원을 공급하는 역할을 할 것이다.)

 

 

이제 저것들을 하나씩 탱크 위에 올려보자.

 

양면테이프

 

▲ 임시로 만들어보는 것이기 때문에 양면테이프를 이용해서 각종 장치들을 탱크 위에 살짝만 고정을 해본다.

 

아두이노와 블루투스

 

▲ 일단 포탑은 제거하고 앞쪽에는 블루투스 모듈을 뒤쪽에는 아두이노 보드를 올렸다.

 

복작한 구조

 

▲ 그리고 아두이노와 모터 드라이버에 전원을 공급할 9V 건전지 두 개를 올려서 회로 만들기를 했는데 좁은 공간에서 너무 엉망이다. ㅎㅎ

 

9V 밑으로

 

▲ 그래서 아두이노에 전원을 공급할 녀석은 이렇게 아래쪽 공간에다가 대충 쑤셔 넣는다.ㅎㅎ

 

정리

 

▲ 그리고 탱크 위쪽도 최대한 정리를 해본다.

 

배선 정리

 

▲ 처음보다는 많이 깔끔해졌다. ㅎㅎ

 

완성

 

▲ 며칠 동안 블루투스 모듈을 익혔더니 생각한 대로 쉽게 회로를 만들고 코딩도 되더라. 일단 회로를 다시 한 번 정리하자면 아두이노에 블루투스 모듈을 연결했으며 (연결 방법은 앞에서 언급한 지난 글 참고) 모터 드라이버를 연결하고 9V 건전지 두개로 모터 드라이버와 아두이노에 각각의 전류를 보내주고 있다.

 

 

그리고 안드로이드 앱은 지난 글에서 만든 걸 그대로 사용하고 있다. 그때도 잠깐 언급했지만 이 RC 탱크를 만들어보기 위해서 그 앱을 만들었던 것이다. 그렇기 때문에 각 버튼을 누를 때 전달되는 숫자들의 값을 바탕으로 모터를 제어하고 있는데 스케치 프로그램의 소스 코드를 잠깐& 보자.

 

아두이노 코딩1

 

▲ 초기화 구간에서는 모터 드라이버로 들어가는 네 개의 디지털 핀을 OUTPUT으로 초기화했으며 블루투스 무선 통신을 시작하도록 하고 있다.

 

아두이노 코딩 2

 

▲ 반복 구간에서는 블루투스를 통해 들어오는 값을 받아와서 그 숫자에 따라 각각의 모터에 신호를 보내는데 이때 들어오는 숫자는... 앞글을 봤다면 알겠지만 안드로이드 앱에서 버튼을 누를 때마다 전송이 된다. 그리고 DC 모터는 전원이 들어오는 방향에 따라서 회전이 바뀌기 때문에 어떤 버튼을 누르냐에 따라서 그 회전을 달리하게 해 앞, 뒤, 좌, 우로 움직이도록 해봤다.

 

안드로이드 어플과 블루투스의 개념만 대충 잡고 있어서 딱히 어렵거나 복잡한 건 아니다. 하지만 혹시 나처럼 이런 걸 만들어볼 분들이 이 글을 보신다면 앞에서도 계속 이야기했지만 배터리에 조금 신경을 써야 한다는 점 참고하고.... 그래도 혹시 새 9V 건전지면 이 녀석을 어느 정도 돌릴 수 있지 않을까 하는 생각에 새 걸로 다시 끼워서 테스트를 해봤는데..

 

▲ 역시 힘이 딸린다. ㅎㅎ 될 수 있으면 궤도를 돌리는데 많은 힘이 들어가는 탱크보다는 동그란 바퀴를 돌리는 녀석들을 만들어보는 게 좋을 것 같다.

 

이번에는 이렇게 집에 있는 재료로 대충 급하게 만들어봤지만 몇 가지 준비해서 제대로 된 RC카를 하나 만들어볼 계획이다. 그때 또 정리하기로 하고 이번 글은 여기서 마무리한다.

반응형