[미션2. 구현기] 스마트폰 미니 자동차 제어

 

※ 본 글은 아이씨뱅큐가 진행하는 칩센의 블루투스 4.1 모듈 테스트 키트 무상 체험단의 일환으로 ICbanQ의 지원을 받아 작성되었습니다.

※ 구입처 : http://www.icbanq.com/shop/

 

 

미션 2 : 무선스마트폰 미니 자동차 제어

 

 

 이번 미션을 수행하면서 그 동안 RC카를 한번 개조해 보고 싶었던 개인적인 바램이 이렇게 BLE 모듈을 체험해 볼 수 있는 기회와 어우러져 의미있는 시간이지 않았나 생각됩니다.  

 

본론으로 들어가기에 앞서 진행해야 할 작업을 크게 나누어 보면 아래와 같습니다.

1. HW준비 : RC회로를 BoT 테스트 키트로 교체, DC모터 Driver 모듈과  연결  
2. SW준비 : BoT 테스트 키트 용 테스트 apk의 PWM control UI 수정(-> Joystick)  

3. Test 및 보완

 

우선 HW작업으로 불용품 RC카를 분해하여 Radio Controler 회로를 떼어 냅니다.

 

 

그리고 새로운 두뇌(BoT 테스트 키드)로  바꿔주고, 연결 작업을 합니다.

이미 제목에서 알 수 있듯이 DC모터를 PWM 신호로 제어하기 위해 BoT 테스트 보드의 PWM0~3(4개의 출력 신호)를 사용합니다.

 

 

 

 

그리고 BoT테스트 보드의 IO전압(3.3V)과 전류 레벨(?:CSR1010문서에도 없네요..ㅠ.ㅠ)로는 초라한 can모터라 할지라도 직접적인 DC모터제어에 무리가 있어 효율적이고 쉽게 제어하기 위해 ICBANQ에서 구매한 DC모터 Driver(위 사진 중앙 하단)를 적용하였습니다. 

 

 

 

 

 

 DC모터 Driver는 2채널용으로 BA6208 2개만을 사용하여 입출력을 사용하기 편하게 배치한 간단한 쪽보드(piggyback board)입니다.

 

 

 

 

실제 공간이 작은 시스템에 적용하기엔 size가 좀 크네요.^^ 

 

BA6208 보드 기준으로 

     1. control용 입력신호 : BoT테스트보드의 PWM0~3 pin으로 부터 LM0,LM1 / RM0,RM1에 각각 연결

     2. 전원(4.5~15V)  : 배터리팩(전원 스위치 포함)으로 부터 Vcc, Gnd에 연결

     3. DC모터구동용 출력신호 :  2채널 출력(J3/J4)을 각각 DC모터에 연결 (Maximum 500mA)

이렇게 간단합니다.

 

 

 

아래표는 BoT보드의 PWM 출력 -  BA6028 -  DC모터의 구동 방향과의 상관 관계를 나타냅니다.

   DC Motor#

PWM#

BA6208 Output to

DC motor

   Motor1(driving)

PWM0

PWM1

 

                 H

L

정회전

L

H

역회전

H

H

정지

L

L

Open

   Motor2(steering)

PWM2

PWM3

 

H

L

정회전

L

H

역회전

H

H

정지

L

L

Open




 

그리고 BoT 테스트보드의 PWM 출력을 보드 내부(RGB LED, Vibrator)가 아닌 외부(헤드핀 부착부)로 돌리기위해

해당 스위치를 아래 사진과 같이 보드 외부로 설정합니다.

 

 

이제 장착과 연결이 끝났네요.

 

 

기념으로 측면 샷도 한번 눌러 봅니다.

 

 

이로써 HW적인 준비는 마쳤고 ...

 

 

 

 

 

 

 

다음은 SW 관련사항을 한번 볼까요 ...  

 

 

BoT 테스트 키트용 android app에서 PWM control을 위한 UI는 RC카 조정 관점에서는 좀 맞지 않습니다.

그래서 칩센 사이트의 Download 코너에 공유되어 있는 테스트앱을 받아서 수정,구현하기로 가닥을 잡았습니다.

 

 

테스트앱의 구성을  간단히 살펴보면 아래와 같습니다.

(* 그리고 library인 chipsen-cle1x0_1.jar(com.chipsen.bleservice)도 있습니다.)

 

 

 

Activity 진행 순서는 아래와 같습니다.

       chipsen_logo(splash) --> NavigationActivity(각종 data, control이 있는) --> (BLE scanning 시) DeviceScanActivity

 

 

PWM control을 담고 있는 부분이 LedContorlFragment인데, 이 부분에 기존 것(PWM관련 만)을 제거하고 아래와 같이 DualJoystickView 관련 코드를 추가합니다.(시간 관계상 https://code.google.com/p/mobile-anarchy-widgets/wiki/JoystickView를 활용합니다.)

 

 

 

 

그리고 JoystickView로부터 전처리된 터치이벤트가 전파되면  JoystickMovedListener가 감지하여 조정을 위한 판단을 한 후 BLE 서비스로 전달하여 GATT - write characteristic operation을 수행하면  CSR1010에 전달되고 최종적으로 PWM을 control을 합니다.

 

최종 수정된 activity 형태는 아래와 같습니다.

 

 

 

 

작업의 많은 부분을  Driving motor(좌), Streering moter(우) 레벨 조정을 위한 JoystickMovedListener 내부 구현에 투자하였습니다.

우선 원하는 대로 동작 시키는 것에 초점을 두었지만 아직 최적화의 여지는 많이 남아 있어 보입니다.

 

 

 

 

자~ 이제 테스트 단계로 넘어갑니다. 

1차 동작 검증을 위해  아래와 같이 포즈을 취합니다.

 

 

 

 

 

여러차례의 수정을 마치고 나름 잘 굴러갑니다. 

 

 

 

이제 "Hit The road Jack !" 해 볼까요 ~~ 

 

 

 

음주 운전은 절대 안됩니다. ^^

 

* 작업한 소스도 첨부합니다. 

 

 

이상으로 미션2를 마치겠습니다.

 

 

 

 

 

※ 본 글은 아이씨뱅큐가 진행하는 칩센의 블루투스 4.1 모듈 테스트 키트 무상 체험단의 일환으로 ICbanQ의 지원을 받아 작성되었습니다.

[ICbanQ 무상체험단 25기] BoT-CLE110Test Kit 개봉기

구매처 http://www.icbanq.com/shop/product_detail.asp?prod_code=P005672731


안녕하세요^^; 한동안 뜸하다가 무상체험단에 당첨되어서 체험단 리뷰를 진행하게 되었습니다.

(카메라가 슬슬 하늘나라를 가려고 합니다,,, 세로운 카매라가 필요합니다;)

이번에 테스트하게된 BoT-CLE110Test Kit 는 말 그대로 Bot-CLE110 무선통신모듈을 테스트 해보기 위한 보드입니다.
기본적으로 어떤 동작을 할 수 있는지 테스트해볼 수 있는 개발보드의 느낌입니다.

사실, 이 보드를 받기 전에는 크게 기대하지 않았습니다. 아니 뭐,,, 블루투스 모듈하면 보통은 UART 통신용 SSP 블루투스 모듈이니까요^^; 그냥 통신모듈 이겠거니, 마침 무선통신 모듈 하나 필요했거니,,, 해서 신청했습니다.
그런대 막상 받고 관련 문서 좀 뒤적뒤적 하니까,,, 이거 좀 책임이 무거워졌습니다.
솔직히 여기있는 기능을 이번 달 안에 다 만족스럽게 사용할 수 있을지가 의문이에요 ㅠㅠ.
이거 사실상 그냥 제 넉두리가 되버렸는데, '이 보드 정말 좋네요~ 꺄~' 하는것보다 보드를 받게된 솔직한 감상을 적어보고자,,, 본격적인 글은 이제부터 가겠습니다.


사실 키트를 받으면서 제일 놀란게, USB 케이블이,,, 꽤나 좋은걸 주셨네요. 마침 스마트폰 케이블이 부족했는데,,, 아니 체험하는데 쓸껍니다. 네.



아두이노와 같이 사용할 수 있게끔 핀해더가 포함되 있습니다. 본인이 보유하고 있는 Arduino Mega 2560 R3 와 호환이 될지는 잘 모르겠습니다. 라이브러리가 UNO 에서 사용하는 Atmega328p 에 맞추어져 있다면 세로 라이브러리를 만들거나 적당히 포팅해서 쓰겠는데,,, 제가 이상한건지 라이브러리를 공개해주셨다는데 못찾겠어요! 

핀해더들에 좀 더 아쉬운점은 역시 추가 적층이 어렵습니다. 보드 자체에 기능이 많긴 하지만 좀 아쉽긴 합니다.
다른 아두이노용 쉴드를 사용할 예정이셨다면 추가적으로 적층용 핀해더를 구매해두시는게 좋을것 같습니다.



코인형 배터리와 리듐폴리머 등을 연결할 수 있게 커넥터가 왔습니다. 코인형 배터리가 (그럴것 같진 않지만)전체 전원을 담당하는것인지, 아니면 비상전원 등으로 사용되는지는 좀더 문서와 데이터시트를 찾아볼 필요가 있을것 같습니다. 



적당히 크기 비교해보시라고 다른 보드들을 몇개 나열해봤습니다. 초록색 보드가 BoT-CLE110Test 보드입니다.

아마 다른 개발자들이나 대학생 분들의 실습/개발용 키트 정도가 맨 오른쪽 보드 크기일 겁니다(혹은 좀더 크거나)
소형 프로토타입 제작을 고려한 보드의 경우 중앙에 있는 보드와 비교해보시면 감이 오실겁니다
자작 MCU 모듈 등과 비교해봤을때 위의 붉은 보드 두개와 비교해보시면 됩니다. 
BoT-CLE110 Test 보드의 경우 Arduino UNO와 크기가 딱 맞도록 제작이 되어있고 Mega 2560 등과 비교해봤을 때 조금 작다는 느낌입니다. 


보드가 지원해주는 센서들의 모습입니다. 온도센서, Cds, 포텐셔미터가 보입니다. 다른분들의 개봉기를 좀 봤는데, 스마트폰으로 앱을 설치해서 값을 확인해볼 수 있는 모양입니다. 



그리고 그 위에 LED가 달려있습니다. 네, RGB LED가 달려있습니다. 조금 의외의 페리퍼럴 이었습니다. RGB LED를 달아주는 보드가 솔직히 좀 생소했습니다. 보통은 LED 어레이 등을 달아줄텐데, 꽤 신경쓴 모습이 보입니다. 
아마 하드웨어 PWM 과 연결되어 있을것으로 예상됩니다. BLE 모듈 자체가 이런 페리퍼럴을 제어해 줄 IO가 마련되어 있습니다. 마찬가지로 GPIO도 있습니다.



솔직히 이 보드에서 제일 놀란점이 이겁니다.

진동모터가 달려있습니다.

ㅇㅂㅇ!!!!?!?!?!?! 진동모터!? 제가 이상한건진 모르겠습니다만, 부저를 달아둔 보드는 많이 접해봤습니다. 진동모터는 솔직히 처음입니다. 보통은 고정시켜두고 사용하는 보드들이 많아서 부저를 많이 달아주는데, 특이하게 진동모터가 달려있습니다. 아무래도 이동용 디바이스에 사용을 고려한게 아닐까 싶습니다. 



그리고 BLE 모듈입니다. 지금은 이벤트중이라 이 Kit 를 사면 모듈도 하나 준다고 합니다. 저한태는 기회가 없을것 같지만!
다른 모듈과 사용할 수 있는지는 모르겠습니다(많이들 쓰는 HC 시리즈 라든지,,,). 되면 정말 좋겠지요. 문서로 사용할 수 있게끔 되어있는지 찾아보아야 할 것 같습니다. 

아직 실사용은 못해봤습니다.
다른분들을 보니 벌써 앱까지 설치해서 태스트해본 분도 계시더군요. 좋습니다. 
저도 열심히 삽질해서 정보공유하겠습니다.^^!
삽질기를 원하시는 분은 저에게 오세요!

문서화도 꽤 잘되어 있다고 생각됩니다.
보통 이런 보드들을 구매할 때, 저는 제일먼저 문서화, 개발자가 응용할 수 있도록 길을 얼마나 터주는지 등을 고려합니다. 저는 그래도 고통을 인내하는 타입이긴 합니다만, 정보가 부족하면 정말,,, 키보드를 하도 꽝꽝 쳐대서 남아나질 않습니다;. 

"여기 보드가 있구요. 행운을 빕니다. Good Luck^^" 

타입의 개발보드도 정말 싫어하는 편입니다. 어느정도 튜토리얼이 있거나, 제 래벨에서 응용 가능하다 싶은 보드를 고려하는 편입니다.


칩센사에서 제공해주는 데이터시트와 메뉴얼을 받을 수 있는 곳입니다. 해당 보드는 BoT-CLE110 관련 PDF 를 받으시면 됩니다. 테스트 키트용 PDF 뿐만 아니라 모듈의 PDF 까지 받아두셔야 합니다. 

모듈의 메뉴얼을 보면 대부분의 조작은 UART 통신을 이용하도록 되어있습니다. 라이브러리를 제작하시려는 분들은 이 메뉴얼을 보고 사용하시는 환경의 Serial(UART)통신 관련 기능을 이용하시면 됩니다. 그 외 Kit 의 데이터시트 등을 볼 수 있었습니다. Kit 에는 UART를 USB를 통해 이용할 수 있는 USB to Serial 변환 칩을 내장하고 있습니다. 그냥 USB 연결해서 AT 명령어를 통해 테스트해보는것이 좋을것 같습니다. 그외 별도로 RX, TX 를 따로 빼내었고, 모듈의 전압레벨은 3.3v 이기 때문에 Kit 가 이를 고려했는지도 확인해볼 필요가 있어보입니다. 

아두이노와는 핀해더를 통해 연결하도록 권장하고 있고, 기타 다른 리눅스 개발보드 등에서는 USB to Serial을 통해 연결하도록 권장하고 있는 듯 합니다. 

이쯤되면 그냥 이 보드 하나만 가지고도 테스트해볼건 다 해볼 수 있을것 같습니다. 그래도 보드를 받은 목적에 맞게 제가 보유하고 있는 보드들에서 사용해볼 생각입니다. 

"본 글은 아이씨뱅큐가 진행하는 칩센의 블루투스 4.1 모듈 테스트 키트 무상 체험단의 일환으로 ICbanQ의 지원을 받아 작성되었습니다" 

 

BoT-CLE110 Test Kit 개봉기

 

※ 본 글은 아이씨뱅큐가 진행하는 칩센의 블루투스 4.1 모듈 테스트 키트 무상 체험단의 일환으로 ICbanQ의 지원을 받아 작성되었습니다. http://www.icbanq.com/shop/

 

 

 

 

개봉기를 시작하겠습니다.

 

 

통보 하루만에 제품이 배송되어 왔군요. ICBanq의 무상체험 지원은 역시 스피드인가 봅니다. ^^

최근 많은 이들의 관심을 받고 있는 BT LE(Low Energy)이기에 상당한 기대감으로 제품을 개봉합니다.

 

 

 

제품을 담고 있는 상자의 크기는 생각보다 작습니다.

 

BPi를 올려 보았을 때 가로, 세로 길이가 크게 차이 나지 않습니다.

 

 

 

 

자, 이제 상자를 열어서 내용물을 확인해 보겠습니다.

 

 

왼쪽 상단 부터 시계 방향으로 micro USB 5pin cable,  설명서, 전원케이블 , 헤드소켓(+헤드핀) , 테스트 보드 입니다.

사소한 것이지만 꼭 필요한 핀들까지 구색을 갖춘 세심함이 느껴집니다. ^^

 

 

 

이제 주인공인 테스트 보드를 살펴보겠습니다.

 

 

 

 

크기는  68.6mm(W) X 53.3mm(H)로 100원 동전과 비교한 모습니다. 아두이노와 직접 연결해서 사용할 목적으로 크기를 맞춘 듯합니다.

 

 

 

보드의 정면 전체 모습입니다.  많은 슬라이드 스위치, 버튼 , vibrator, micro USB port, RGB LED, Light sensor 등이 보입니다.

설명서에 따르면 온도, 빛의 센싱이 가능한데, PIO(Periperal),AIO(Analog), DIO(Digital),PWM등을 외부에서도 control 할 수 있게 해 놓았으니 필요하다면 다른 센서들로 추가 구성도 가능 하겠군요.

 

 

블루투스 모듈은 Csr의 BT 4.1을 지원하는 칩이 적용되어 있습니다.

 

 

AIO port 쪽 모습입니다.

 

 

 

 

AIO0에 온도센서, AIO1에 빛 센서, AIO2에 가변저항이 연결되어 있군요.  

 

USB , PIO , PWM port 쪽 모습입니다.

 

 

P10과 P11은 switch와 LED가 연결되어 있고,  PWM0에는 RGB LED의 R(ed) , PWM1에는 G(reen),  PWM2에는 B(lue)가 연결되어 있습니다.  그리고 마지막으로 PWM3에는 vibrator Moter가 연결되어 있습니다. 

 

이 슬라이드 스위치들은 위로 올리면 kit 내부 회로에 의한 동작이고 , 내리면 외부 회로(아두이노 등등)에 의해 control되도록 하고 있습니다. 단, 전원에 해당하는 것은 내리면 3V coin cell battery 인가, 올리면 차단입니다. 

 

 

 

이어서 측면 모습입니다.

 

 

 

 

뒷면은 아래와 같습니다.

 

 

Coin cell battery 자리가 위쪽에 있습니다 .그리고 칩센의 엠블림이 보이고, 버젼정보등이 인쇄되어 있습니다.

 

 

 

우선 보드 이상 유무를 체크 하기 위해 Coin cell battery를 장착하고 스위치를 조작해 봅니다.

 

 

 

다행히 이상은 없군요.^^   On board 상태로 RGB LED 및 스위치 , 버튼에 의한 LED 정상 동작합니다.

참고로 진동모터는 외부전원(5V adapter or micro USB port)으로만 동작하도록 되어 있네요. 전력소모를 고려한 것 같습니다.

 

 

 

이상은 BoT-CLE110 Test Kit 제품을 개봉하여 크기, 모양, 구조 등을 한번 살펴보고 보드 이상유무 체크를 간단히 해 보았습니다.  

 

 

 

 

다음에 이어질 실질적인 테스트를 위해 Android App을 설치해 놓겠습니다.

 

 

 

동봉된 설명서에 제품 메뉴얼 및 android app 정보가 나와있습니다. Google Play에서 BoT-CLE110으로 찾으면 됩니다.

 

이상으로 개봉기를 마치겠습니다.

 

 

 

 

※ 본 글은 아이씨뱅큐가 진행하는 칩센의 블루투스 4.1 모듈 테스트 키트 무상 체험단의 일환으로 ICbanQ의 지원을 받아 작성되었습니다. http://www.icbanq.com/shop/