마이크로비트로 스리랑카 만들기


소프트웨어는 제어의 부분을 하드웨어는 실제 동작의 부분을 담당합니다.

마이크로 비트만으로는 모터를 구동시킬 수 없기 때문에 모터 드라이버라는 쉴드를 추가해서 사용합니다.

필수 부품을 제외하고 나머지 차체부분은 개인 재량으로 만듭니다. 

‌동영상 강좌

‌가재울중학교 박웅빈 선생님의 '마이크로비트를 이용한 스리랑카 만들기'강좌입니다. 이 영상 강의를 통해 기본 사용법을 익히고 아래에 제공한 소스코드를 적용하면 스리랑카를 즐기실 수 있습니다.

마이크로비트는 3.3V의 낮은 전압을 사용하기 때문에 마이크로비트만으로 모터를 구동할 수 없습니다. 그래서 모터 드라이버라는 장치를 추가로 사용하는데 여기에서는 Elecfreaks라는 회사의 Motorbit라는 제품을 사용하겠습니다. 우선 Motorbit를 사용하기 위해서는 마이크로비트 코딩을 하는 microbit.org 사이트에서 Elecfreaks의 Motorbit를 사용할 수 있도록 도와주는 확장팩을 설치해야 하는데 왼쪽의 영상을 참고하여 확장팩을 설치하기 바랍니다.

확장팩을 설치하고 나면  기본 코드블럭 하단에 Sonarbit와 Motorbit블럭이 생기는 것을 확인할 수 있고, 우리는 Motorbit블럭 안의 코드블럭들을 활용해 스리랑카를 제어할 것입니다. 

TERAS

소스 코드


오른쪽 소스코드는 Elecfreaks의 Motorbit를 구동테스트 해보는 코드입니다. 

A, B, A+B버튼을 누르면 1, 2, 3이라는 값이 전달되고, 1, 2, 3 값을 전달받은 수신부는 전진, 후진, 정지의 기능을 수행합니다.

마이크로비트에서 라디오 기능을 사용할 때는 'radio set group'반수를 이용해 드시 같은 그룹으로 맞춰줘야 송신부와 수신부가 통신이 됩니다. 더하여 송신부 코드와 수신부 코드를 합쳐서 하나의 코드로 사용해도 버튼을 누를 때는 송신부로, 라디오 신호를 받을 때는 수신부로 알아서 인식합니다.

이 소스코드는 송신부의 A 또는 B 버튼을 누른 상태로 기울이면 해당하는 값이 라디오통신을 통해 수신부로 전달되고, 수신부에서는 전달받은 값에 따라 Elecfreaks Motorbit를 제어합니다. 

‌신호는 1~7까지 총 7가지의 동작을 수행할 수 있도록 코딩되어 있습니다. 

아두이노로 스리랑카 만들기



H 브릿지

H 브릿지는 일반 DC모터의 회전 방향을 전자적으로 제어하기 위해 만들어진 전자회로입니다. 오른편에서 보는 것 처럼 모터 드라이버의 입력 신호에 어떤 신호를 주느냐에 따라 모터의 회전 방향과 속도가 제어됩니다. 

 신호는 작은 전류로도 사용이 가능하지만, 모터를 구동시키기 위해서는 높은 전력이 필요하므로 모터를 구동하기 위한 전원과 H 브릿지를 제어하기 위한 전원을 '-접지' 해주어야 합니다. 다만 6~12V 정도의 전압은 아두이노나 모터에서 모두 사용할 수 있으므로 아래와 같은 경우에는 하나의 전원으로 둘 다 사용할 수 있습니다.


회로의 연결

아두이노로 스리랑카를 만들 때 사용하는 회로도입니다. 재료는 아두이노 우노, 블루투스 모듈, 모터 드라이버, 모터, 점퍼와이어, 배터리(보통 6~12V사용)입니다.
블루투스 RX - 3번, TX - 2번
모터드라이버 좌 - 5, 6번, 우 - 9, 10번

TERAS

소스 코드


소스코드는 오른쪽과 같습니다.

l, r, f, b, w, q, s 라는 문자를 받아서 좌회전(강), 우회전(강), 전진, 후진, 좌회전(약), 우회전(약), 정지의 동작을 수행합니다. 현재는 모든 함수에 digitalWrite()를 사용하여 항상 최고속도로 회전하지만, analogWrite()를 사용하면 각 바퀴의 회전 속도도 조정이 가능합니다. analogWrite() 함수는 HIGH와 LOW대신 0~255까지의 값으로 전압을 조정하여 바퀴의 회전속도를 제어할 수 있습니다.

자세한 내용은 주석을 참조해주세요.

‌아두이노 나노, 모터 드라이버, 블루투스 모듈, 18650 리튬이온 배터리, 기어드 모터와 바퀴, 레이저 컷을 활용한 본체를 재료로 기본 구성을 하였습니다. 위의 회로도를 보면 더 정확하게 조립할 수 있습니다.

400홀 브레드보드를 이용해 회로를 정리해보았습니다. 회로 정리는 개인의 취향을 존중합니다.

회로를 조금 더 자세하게 찍어봤습니다. 전체적으로 휴대폰 앱에서 블루투스로 블루투스 시리얼 통신을 통해 송신된 값을 아두이노 나노에 전달하고 나노가 모터드라이버에 신호를 줘서 양쪽에 있는 기어드 모터를 구동하면 바퀴가 굴러가는 방식입니다.

점퍼와이어는 프로토타입을 만들 때 쉽게 사용할 수 있는 재료이지만, 거추장스러운 면이 많아 테스트가 완료되면 회로를 이글캐드로 재설계하여 PCB(Printed Circuit Board)로 만들고, 그 보드에 부품을 실장하는 형태로 제품을 생산합니다. 실제 제품 생산을 위해서는 단가를 많이 낮춰야 하므로 정말 필요한 부분만을 남기고 필요없는 부분은 삭제함으로써 단가를 조정합니다. 

스리랑카의 하단부입니다. 캐스터 바퀴를 이용하면 방향조절 시 편리하며, 3D 프린팅 된 바퀴는 미끄러운 바닥에서는 헛바퀴를 돌게 되므로 적절한 조치를 취하는 것이 좋습니다.