장난감 자동차 해킹

 아무리 생각해도 스위치를 박수로 제어하기에는 실내 소음을 아두이노가 걸러낼 수 있는 능력이 되지 않고 적외선 센서로 하기에는 지금의 리모콘의 파장이 너무 짧은 듯하다. 차라리 기계적 요소를 써서 장난감 자동차로 스위치를 제어할 수 있는 방법을 생각해 보았다. 그 우선이 되어야 하는 것이 장난감 자동차를 해킹하여 내가 원하는 대로 사용하는 것이다.


방법은 이 영상을 참고로 하기로 했다만 이래저래 난관이 있었다. 우선 내가 산 칠천원짜리 자동차의 메인보드에는 그라운드가 명시되어 있지 않았다. 도대체 어디를 어떻게 연결해야 제어가 되는지 알 수가 없었다.
그래도 꾸역꾸역 이곳저곳 대어 보다가 신호가 닿는 부분들을 찾아내었다. 다음 영상과 같다.

소리가 작아 잘 들리지는 않지만 차체에서 불빛이 깜빡이는 순간들이 뒷바퀴의 회전 시그널에 연결된 때이다.

이제 각 부분들을 점퍼로 연장하여 아두이노로 연결한 후에 아두이노로 제어하면 미션은 끝나는 셈이었다.
예상외로 순조로운 전개에 기분이 좋았다. 하지만 역시 하루가 지나자 마자 망했다.

맨 위의 설명영상에서 나오듯이 전원을 직접 연결하여 자동차 메인보드에 신호를 주는 것을 실험하려고 했는데, 어찌된 영문인지 보드가 타버렸다. 외부 전원이 5V인 것을 본체 전원이 4.5V니까 똑같겠지 하고 그냥 연결한 것이다. 시그널로 몇 볼트가 필요한 것인지도 생각하지 않고 무작정 연결했더니 타버린 듯하다. 위의 영상은 보드가 탄 후 전원이 들어오기만 하면 질주하려고 하는 자동차의 모습이다.

그래서 결국은 자동차를 해체하기로 했다. 비싸게 산 것도 아니니까 부품들만 활용하는 셈 쳐야 한다. 모터들과 본체를 7천원에 샀으면 뭐 그래도 잘 샀다 (사실 아니다). 라디오 컨트롤러까지 해킹할 수 있다면 좋겠지만 아직 그 단계는 아니다.


위의 영상은 자동차 내부의 모터를 빼낸 사진이다. 영상을 보지 않아도 되는 것이 아무일도 일어나지 않는다. 대체 뭐가 문제일까 고민을 해가며 두 시간 여를 보내고선 작업실에 올 때마다 친절하게 안내해주시던 담당자분께 실례를 무릅쓰고 여쭤보러 들어갔다. 어디서부터 질문을 해야할지 모르겠어서 실험 배경부터 설명을 하려던 찰나에 갑자기 아누이노와 모터를 직접 연결하는 것이냐고 물어보셨다. 그러면 안된다고 한다. 원래부터 안되는 것을 가지고 두 시간을 보냈다니 조금은 허무하지만 그래도 답을 얻은 셈이다.
아두이노 모터드라이버에 대한 이미지 검색결과
 아두이노에는 모터 드라이버가 따로 존재한다. 위에꺼는 L298N 이라는 모델명의 부품인데 사실 아두이노 용은 아니고 라즈베리파이 등 더 큰 모터를 더 큰 제어장치에 연결할 때 쓰는 듯하다. 사진과는 달리 생각보다 커다래서 거의 아두이노만 하다. 이제까지 왜 그런지는 생각하지도 않고 그런갑다 하고 있었는데 알고 보니 아두이노에서 나오는 전류가 모터를 돌리기에 충분치 않기 때문이었다. 친절하게도 담당자님은 내가 했듯 직접 연결하려고 하면 아두이노가 망가질 것이라며 큰일날 뻔했다고 웃으며 말하셨다. 큰일나지 않은 척 웃을 수 밖에 없었지만 그래도 아직은 살아있는 것 같다.

 현자타임이 찾아와 방에서 게임을 하며 시간을 흘러보내다가 저녁이 되어 sham shui po로 드라이버를 사러 나갔다. 한화 6000원 정도 하는데 정말 이런 바가지가 없는 걸 알면서도 오프라인에서 사려면 어쩔 수 없다. 필요한 것들은 미리미리 인터넷으로 주문을 해 놔야겠다.


댓글

이 블로그의 인기 게시물

아두이노 - 안드로이드 블루투스 연결 및 실시간 그래프 표현 (1)

opencv feature matching 으로 월리 찾기

라즈베리3에 텐서플로 설치 & Python 3.6 설치