
12. RC카 만들기 2
【활동 하기】
1. 스마트폰과 블루투스 연결하기
2. 코드 구성하기
3. 디지털 신호? 아날로그 신호?
자동차를 조종하기 위해서 라디오 통신만 가능할까? 마이크로비트에는 다른 무선통신 방법이 있다. 단거리 무선통신인 블루투스 통신이다. 마이크로비트의 블루투스 통신을 사용해 스마트폰으로 자동차를 조종하는 방법을 알아보자.
1 스마트폰과 블루투스 연결하기
핸드폰과 마이크로비트를 블루투스로 연결하기 위해서는 먼저 스마트폰에서 마이크로비트 어플을 다운로드해야 한다.

구글 플레이 스토어 microbit 앱

애플 앱스토어 microbit 앱
마이크로비트와 스마트폰과의 페어링은 아래와 같은 순서로 진행한다.

마이크로비트 어플을 실행하고 가장 위에 있는 Choose microbit 버튼을 클립 한다.

그림과 같이 마이크로비트의 A 버튼과 B 버튼을 동시에 누르고 뒤에 있는 리셋 버튼을 누른다.

마이크로비트가 페어링 모드에 들어가면 왼쪽 그림과 같이 LED 스크린에 그래프가 생긴다.

마이크로비트 어플에 마이크로비트 LED 창의 그래프를 그대로 그리고 Next 버튼을 누른다.

잠시 후 마이크로비트의 A 버튼을 누르고 어플의 Next 버튼을 누른다.

마이크로비트와 스마트폰이 페어링 된다.
2 코드 구성하기
앞서 이야기했듯이 마이크로비트는 두 가지 무선통신을 사용할 수 있다. 첫 번째가 라디오를 사용한 무선통신이고 두 번째가 블루투스를 사용한 무선통신이다. 단, 무선통신을 동시에 두 가지 모두를 사용할 수 없으며 한 번에 하나씩 밖에 사용할 수 없다. 즉, 라디오 통신을 사용하기 위해서는 블루투스 통신을 사용할 수 없으며 블루투스를 사용할 때는 라디오 통신으로 명령할 수 없다.
① 블루투스와 디바이스 그룹 설정하기
처음 makecode 편집기에서 새로운 프로젝트를 생성하면 블루투스 명령 블록 그룹을 찾을 수 없다. Makecode 편집기의 기본 무선통신은 라디오 그룹으로 설정되어 있기 때문이다. 아래 순서에 따라 블루투스 그룹을 확장해 보자. 또한 스마트폰으로 앞뒤 좌우를 제어하기 위해 devices(장치 제어) 그룹도 추가한다.

Makecode 편집기에서 블록 꾸러미의 가장 아래 고급 탭을 선택한다.

고급 탭이 열리면 가장 아래 확장 탭이 나타난다. 확장탭을 선택한다.

확장 탭을 선택하면 다양한 확장 그룹들이 나타난다. 가장 먼저 블루투스와 장치 제어(devices) 그룹 확장 블록을 볼 수 있다. 장치 제어를 선택한다.

장치 제어 그룹을 확장하기 위해서는 “라디오 파일은 장치 제어와 호환되지 않다. 라디오를 제거하고 장치 제어를 추가할까?라는 알림이 뜬다. 확장 프로그램을 제거하고 장치 제어를 추가합니다. 버튼을 클릭한다.

블록 꾸러미에 블루투스 그룹과 장치 제어 그룹이 추가되고 라디오 그룹이 제거된 것을 확인할 수 있다.
② 장치 제어로 자동차 움직이기
앞서 11차시에서 학습한 수신기의 핀을 제어하는 명령어를 참고해서 코드를 구성해 보자. 자동차가 앞으로 움직이기 위해서 스마트폰 어플에서 게임패드를 사용한다.

게임패드는 왼쪽 그림과 같다. 스마트폰 어플에서 게임패드를 사용하는 방법은 다음에서 학습한다.
게임패드의 ABCD를 사용하거나 1234를 사용하는 것은 개인의 선택에 따라 명령어를 다르게구성해야 하지만 이번에는 ABCD를 사용하겠다.

시작되면 14번 핀을 통해 모터 드라이버를 통해 전력을 내보낼 수 있도록 디지털 출력을 1로 설정한다.

우선 A를 누르면 앞으로 이동하기 위해 장치 제어 그룹의 A down 감지하면 실행 블록을 사용한다.

LED 스크린에 화살표 북쪽을 출력하고 앞으로 이동하기 위해 1번, 3번 핀에 아날로그 값 1023, 13번과 15번 핀에 디지털 값 1 그리고 12번 핀과 16번 핀에 디지털 값 0을 출력한다.
※ 디지털 값과 아날로그 값 그리고 핀에 대한 내용이 이해되지 않는다면 11차시 수신기 코드를 참고한다.

게임패드 C 버튼을 누르면 LED 스크린에 화살표 서쪽을 출력하고 왼쪽으로 이동하도록 한다. 왼쪽으로 이동하기 위해서는 1번 핀의 아날로그 출력을 1023에서 500으로 변경한다

게임패드 D 버튼을 누르면 LED 스크린에 화살표 동쪽을 출력하고 오른쪽으로 이동하도록 한다. 오른쪽으로 이동하기 위해서는 2번 핀의 아날로그 값 500 출력, 1번 핀에서 아날로그 값 1023이 출력되도록 한다.

게임패드 B 버튼을 누르면 LED 스크린에 화살표 남쪽을 출력하고 뒤로 이동하도록 한다. 뒤로이동하기 위해서는 13번 핀과 12번 핀의 디지털 값을 4번 과정과 반대로 0과 1이 되도록 하고 같은 방법으로 15번 핀과 16번 핀도 0과 1이 되도록 한다.

게임패드의 모든 버튼을 눌렀다 때면 LED 스크린에 하트가 출력되고 멈추도록 한다. 모든 핀의 값을 0으로 변경한다.
③ 스마트폰 어플 게임패드 사용하기
코드를 모두 작성하고 스마트폰 어플을 통해 자동차를 조종하기 위해서는 스마트폰 어플에서 게임패드를 추가하고 실행해줘야 한다. 아래 순서에 따라 스마트폰 어플에 게임패드를 추가하고 자동차를 조종해보자.

마이크로비트 어플을 실행하고 4번째 버튼 Monitor and Control 을 선택한다.

Control 아래 + add 버튼을 누르면 다양한 옵션을 선택 할 수 있다.

옵션 창에서 아래서 두 번째 Gamepad를 선택한다.

처음 마이크로비트 화면 아래 게임패드가 추가된 것을 확인할 수 있다.

마이크로비트 화면 왼쪽 상단 노란 점 세 개를 누르면 추가했던 Control 패드를 삭제할 수 있다.

추가한 게임패드만 남아있다.
이제 마이크로비트를 블루투스로 페어링 하고 오른쪽 아래 Start 버튼을 누르면 페어링이 다시 진행되고 게임패드로 자동차를 움직일 수 있게 된다.
※ 페어링이 끊어지고 다시 연결이 되지 않을 때는 스마트폰 설정에서 블루투스 연결 기기에서 마이크로비트를 모두 삭제하도 다시 어플을 통해 페어링을 진행한다.
3 생각해보기
지금까지 마이크로비트와 makecode 편집기를 사용하여 다양한 것들을 만들어 보았다. 이제 여러분이 원하는 것을 직접 만들어 보자.