오늘은 마이크로비트에 있는 각종 센서 신호를 PC에서 실시간으로 받는 것을 해 보도록 하겠다.
위 동영상을 보면 블루투스 통신으로 마이크로비트에 있는 가속도 센서 x, y, z 의 변화값을 실시간으로 PC에서 받아 그래프로 그린다.
어떻게 할 수 있는지 고민해보았다.
우선 블루투스 통신이 아닌 Serial 통신으로 data를 받는 방법을 알아보았다.
Serial 통신으로 PC와 Micro bit 사이에 신호를 주고받기 위해서는 우선 Serial 통신을 하기 위한 드라이버를 설치해야 한다. 마이크로비트-시리얼 통신이라고 구글로 치면 아래 사이트가 나온다.
설치 (윈도우 10은 필요 없음)
다음은 마이크로비트에게 시리얼 통신으로 말을 걸기 위한 프로그램 설치
위 사이트에는 Teratem이라는 프로그램을 추천해 주었다.
설치 : teratem-4.88 exe (korean 버전 클릭)
파일을 설치하면 아래와 같은 아이콘 프로그램이 나온다.
프로그램 실행한 후 아래와 같이 포트 설정 (mbed Serial Port)
다음은 설정-시리얼 포트 설정 : 속도를 115200으로 변경 후 확인 버튼 클릭
이렇게 해 놓으면 이제 마이크로비트로부터 나오는 신호를 받는 준비를 한 상태 끝.
그러면 이제 코딩을 해 보자
마이크로비트 코딩은 JavaScript Blocks Editor (PXT)를 밀고 있는 듯하다. 다른 코딩 언어보다 가장 새로운 기능이 많이 만들어지고 있는 것이 JavaScript Blocks Editor이다.
새롭게 개편된 코딩 창에 Serial 이 보였다. 그걸 이용하여 아래와 같이 간단히 코딩을 해 보았다.
시작하면 "Started..."라는 문자열을 시리얼 통신으로 보내라.
A 버튼을 누르면 "A pressed"라는 문자열을 시리얼 통신으로 보내라.
그리고 x 방향으로 왼쪽으로 기울이면 - 값을, 오른쪽으로 기울이면 + 값을 표시하고
그 값의 크기에 따라 LED가 켜지도록 한다.
드디어 테스트
다운로드한 파일을 마이크로비트로 전송한 후 기울여보면서 Tera에 뜨는 값을 보았다.
매우 빠른 속도로 숫자들이 적혀 내려갔고, 마이크로비트를 오른쪽으로 기울이면 +값을
왼쪽으로 기울이면 - 값이 나왔다.
Tera에 나온 값을 복사하여 엑셀로 그래프를 그려보았다.
동영상에 나오는 것처럼 실시간으로 나타낼 수는 없었지만 좌우 기울임 정도 궤적을 얻을 수 있었다.