행복한 가족, 패밀리그램

개발/안드로이드

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #1

패밀리그램 2017. 1. 17. 15:43

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3


얼마 전 아들이 무선조정 미니카를 본 뒤로 굴러다니는 장난감 자동차만 보면 조정하는 척을 한다.

( 무선 조정 미니카를 사주지 못 해 미안해 ㅠㅠㅠㅠ)

그러던 중 오래 전 어머니가 가져온 무선조정 미니카가 생각났다. 무선조정 미니카를 몇 년전 구매한 IOIO를 연결하기로 마음을 먹었다.


안드로이드 IOIO


안드로이드 IOIO는 아두이노가 폭발적인 인기를 끌 때 구글에서 발표한 OTG Deivce 이다. 실제로 2011, 2012 Google IO 에서 ADK (Accessory Development Kit) 를 공개하고 배포하였다. 

ADK 레퍼런스 : Google Developer


위 사진에서 보이는 것 처럼 OTG Device 이지만 USB 포트에 Bluethooth 동글을 연결하면 안드로이드 단말과 연결 가능하다.  


작업을 진행하기 위해 인터넷으로 부품을 구매했다. 준비물은....

1. 고장난 무선 조정 미니카

2. 안 쓰는 Bluetooth 동글

2. L293D IC

3. 연습용 PCB 기판 & 납땜 용품



우선 고장난 미니카 분해 시작!



악 개 더러워 ㅋㅋ 중간중간에 엄청난 먼지와 거미줄, 그리고 죽어있는 이상한 벌레... (거미로 추정... ㅠㅠ)

기존에 붙어있는 PCB를 때어내고 새로 장착할 L293D가 올라간 PCB에 납땜을 시작했다...

(소프트웨어 개발자이지만 집에 인두와 납이 있다...)


납땜 하면서 납땜과 코딩의 공통점을 알게되었다. 쓸때없는 문제에 집착하면 수명만 줄어든다. 납땜 예쁘게 하려다가 해뜰뻔 했다.

개발자라면 최대한 납땜 시간을 줄여 코딩에 더 신경쓰는 것이 정신건강에 좋을 것 같다..

(물론 대충 납땜 한다면 완성후 땜에 떨어져서 동작안하는 불상사가 벌어 질 수 있으니 신경써야 한다. 단 예쁘게 할 필요는 없다... ㅠㅠ )



때어낸 PCB. 버리진 말고 일단 보관해 둬야겠다. 언젠간 삽입된 TR을 때서 쓸수도.... ( 뭐 확률은 0% )



기존 PCB를 때어낸 뒤 청소하고 그 자리에 L293D가 삽입된 PCB를 장착 하였다. 

(확실히 청소하고 검정색 양면 원형 기판을 장착하니 봐줄 만 하게 변했다.ㅋㅋ )


아래는 L293D 에 대한 간단한 설명이다. 구글링해서 쉽게 찾을 수 있는 L293D PIN 설명


펌 : http://wiki.vctec.co.kr/opensource/arduino/dcmotordirection


L293D는 총 2개의 모터를 제어 할 수 있다. 

(1~8 Pin으로 1개 모터, 9~16 Pin으로 1개 모터)

한 쪽은 RC 미니카의 앞 쪽 방향 제어 모터를, 다른 한 쪽은 뒤 쪽의 전/후진 모터를 제어 할 계획이다.

모터를 2개 모두 동작시켜야 하기 때문에 Enable 인 1,9 Pin 모두 5V 제어 전력에 연결하면 된다. 

(1,9,16 Pin을 5V 전력에 연결하면 됨)


그리고 8 Pin은 모터를 돌리는 전력인데 장착된 모터에 맞는 전력이 들어가면 된다. 꼭 모터에 맞는 전압이 들어가야 하는 건 아니다. 낮은 전압이 들어가면 그 만큼의 전력으로 모터를 회전 시킨다. 그렇기 때문에 모터 속도를 제어하려면 8 Pin 으로 들어가는 전압에 가변 저항을 설치하여 제어 하면 될 것 같다. 

(물론 3,6 Pin 11,14 Pin 에서 제어해도 되지만 그렇게 세밀한 제어가 필요없는 미니카이기 때문에 시간을 낭비하지 말자ㅋ)


3,4 Pin11,14 Pin을 각각 모터 +- 에 연결한 뒤 2,7 Pin11,15 Pin5V 전력을 흘려보내면 모터가 동작하는 것을 확인 할 수 있다. 

향후 신호제어 Pin은 IOIO 의 Output 에 연결될 것 이다.

(꼭 8 Pin 모터에 공급하는 전력이 연결되어야 동작을 확인 할 수 있다.)


위 설명처럼 연결한다면 아래와 같은 그림이 나온다.


펌 : http://aishack.in/tutorials/simple-motor-driver-circuit


하드웨어 쪽 지식이 전무 하다면 그냥 위 내용대로 따라하면 모터가 돌아가는 걸 확인 할 수 있다. 

( 본인도 고딩 시절 얄팍한 전자 상식만 남아 있어 상식없는 그룹에 포함된다 ㅋㅋㅋ )


IOIO와 PCB 기판 연결하는 작업은 다음 포스팅에 해야 할 것 같다


안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3