블루투스 통신에 의해서 RC카인 아두이노 밸런싱 로봇을 앱인벤터 코드로 제어할 수도 있으며 아울러 라즈베리 파리 보드에서 파이선 코드나 또는 Processing 코드에 의해서도 밸런싱 로봇 제어가 가능하다.
이 밸런싱 로봇에 색상을 Tracking 하는 OpenCV 파이선 코드를 라즈베리 보드에 탑재하고 아두이노 HC-06 블루투스 보드와 통신하여 컬러 볼을 따라 다니는 머신 러닝 밸런싱 로봇을 디자인 해 보기로 하자.
이미 컬러 볼을 Tracking 할 수 있는 파이선 코드는 이미 작성이 완료되어 테스트가 끝난 상태이다. 아우러 라즈베리 파이 보드와 아두이노 HC-06 과의 블루투스 통신 준비도 이미 완료 되었다. 데스크 톱 라즈베리 파이에서 이미 설치되어 있는 PiCamera를 이용하여 컬러 볼을 움직여 컬러 볼의 면적 및 중심 위치를 초당 32프레임으로 파이선 코드가 생성할 수 있는 준비도 되었다. 간단한 학습에 의해서 PiCamera 와 컬러 볼과의 주어진 거리에서 컬러 볼의 크기를 기준으로 이 크기 보자 작아지면 밸런싱 로봇을 전진 시키고 작아지면 후진시키도록 코드를 작성하되 컬러 볼의 중심 위치가 스크린 중심에서 좌우로 편향 될수록 우회전 좌회전 신호를 생성할 수 있도록 코딩하여 블루투스를 통해 아두이노 HC-06에 송신하도록 한다.
한편 컬러 볼 Tracking을 위한 밸런싱 로봇 전원을 ON 했을 때에 탑재된 라즈베리 파이 보드에서 아두이노 HC-06 과의 블루투스 Paring 작업과 컬러볼 Tacking을 위한 코드 실행은 스마트폰에서 VNC Viewer에서 원격으로 실행시키도록 한다. 스밑폰의 VNC Viewer는 라즈베리 파이의 가상 ip를 이용하여 와이파이(WiFi) 에 이해 작동이 가능하다. 다음의 스마트 폰에서 라즈베리 파이이 VNC Viewer 화면을 참조하자.
기존의 밸런싱 로봇은 아두이노 보드외에 라즈베리 파이 보드를 탑재하기에는 공간이 부족하므로 디자인 작업을 다시 진행하여 포맥스 재료로 제작하도록 한다. 다음의 목업 디자인을 참조하자.
밸런싱 로봇을 캡스톤 디자인 하는데 한가지 어려운 점은 DRV8825 스테퍼 모터 칩을 장착한 아두이노 쉴드 보드를 제작하는 작업이다. 납땜 수준이 프로 수준에 가까워야 제작이 가능했다. 인터넷 검색 결과 위 그림에서처럼 DRV8825 아두이노 쉴드 보드가 판매 되고 있다. 규격을 검토해 본 결과 Broking 의 밸런싱 로봇 오픈 소스를 사용함에 있어 아두이노 핀 번호가 변경이 필요하며 아울러 MPU 6050자이로 센서를 비어 있는 Xbee 블루투스 보드 설치 공간에 부착설계를 해야 한다.
다음 번에는 DRV8825 스테퍼 모터 쉴드 사용법에 대해서 연재할 계획이다.