마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

단원해설

01. 왜 마이크로비트를 사용한 교육을 해야 할까?

사물인터넷은 IT에 막대한 영향을 주게 될 것이다. 단순히 IT가 만들어 내고 분석하며 관리하고 보호해야할 기기의 범위와 숫자가 늘어나기 때문만은 아니다. 사물인터넷의 확산은 새로운 IT 기술에 대한 수요를 창출하고, 하이브리드 직종들을 만들어 내는 등 IT노동 시장을 바꾸게 될 것이다.

이미 많은 기업들에서 다양한 IoT(사물인터넷, Internet of Things)전략을 계획하고 있으며 그중 몇몇은 벌써 센서와 분석 소프트웨어 등의 다양한 툴을 배치하고 있다. 이들 계획이 현실이 되어 감에 따라 현재는 그렇지 않은 기업들조차 머지않아 IoT 프로젝트를 지원하는 기술력을 갖춘 인재를 필요로 하게 될 것이다.

기업뿐 아니라 세계 많은 나라에서 IT인재를 발굴하고 키우기 위해 노력하고 있다. 우리나라에서는 2018년부터 초·중·고등학교에서 소프트웨어 교육을 의무화 하고 있다. 특히 영국에서는 IT인재 양성을 위해 다양한 노력을 하고 있으며 그 한 예로 micro:bit(마이크로비트)을 들 수 있다.

micro:bit(마이크로비트)는 영국의 국영방송사인 BBC에서 마이크로소프트, 삼성전자, ARM 등과 같은 회사와 함께 랭커스터 대학교 등의 단체들이 3년이 넘는 기간 동안 연구 개발을 통해서 개발한 4×5cm 크기의 소형 교육용 보드이다. 개발환경으로 파이선과 자바스크립트 블록 에디터라는 개발환경도 지원하고 있는데, 특히 파이선 프로그램을 설치하지 않고서도 웹상에서 작업을 할 수 있는 micropython(micro:bit의 파이선 개발환경 명칭)를 제공하여 인터넷이 연결된 환경이라면 언제나 프로그래밍을 할 수 있다.

텍스트로 제공되는 이 개발환경은 시각장애를 가진 학생에게 적합한 교육적 환경이 될 것이며, 이 교재 외 마이크로비트와 관련된 다양한 교육자료가 공식 사이트(https://microbit.org)에 제공되어 지속적인 교육 및 최신 교육 트렌드에 맞춰 제공된다.

02. 어떤 활동을 배우게 되나?

1차시에서는 micro:bit를 사용하기 위한 기본 지식과 개발환경의 구성에 대해 알아본다.

2, 3차시에서는 micro:bit에서 활용가능한 python 코드(음악, 버튼, 무선통신, 입력/출력)에 대해 알아본다.

4, 5차시에서는 2, 3차시에서 배운 마이크로파이선의 코드를 활용한 프로젝트 학습을 통해 조금 더 깊이 있는 micro:bit 활용에 대해 살펴보려고 한다.

위의 내용을 통해 micro:bit를 활용한 프로젝트 활동을 통해 정보교과만이 아닌 다른 교과와의 연계된 활동 수업을 생각해 볼 수 있으며, 실생활에서 활용할 수 있는 다양한 프로그램을 만드는 첫걸음이 되는 활동이 될 것이다.


마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

이 활동은 마이크로비트에 대한 기본적인 형태를 알아보기 위한 활동 차시이다. 이 활동을 통해 여러분들은 마이크로비트에 대해 이해하고 이를 어떻게 활용해야 할지 생각해 볼 수 있게 될 것이다.

【활동목표】

1. 마이크로비트에 대해 알 수 있다.

2. 마이크로비트의 입출력 단자에 대해 알 수 있다.

3. 마이크로파이선 프로그램을 활용하여 마이크로비트에 코딩을 넣는 방법을 알 수 있다.

1마이크로비트란?

마이크로비트는 기존에 교육용으로 많이 사용되고 있는 아두이노, 라즈베리 파이와 같은 SW 교육용 보드이다. 외부 입출력을 할 수 있는 많은 단자들이 있으며, 자체 나침반 센서, 온도 센서, 가속도 센서 등을 내장하고 있어 추가적인 부품을 사용하지 않고 마이크로비트만 가지고 있어도 된다는 점이 장점이다. 또한 통신을 위한 블루투스 4.0을 내장하고 있어 블루투스 모듈 없이 스마트폰 및 스마트 기기와 연동할 수도 있다.

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

[그림 00] 마이크로비트 전면부와 후면부 모습


가. 마이크로비트 구성

자, 여러분이 직접 마이크로비트를 만져보며 어떻게 구성되어 있는지 살펴보도록 하자.

마이크로비트의 상단과 하단의 구분은 보드에 3개의 튀어나온 부분이 있는 곳이 위쪽이고 5개의 구멍이 있는 곳이 아래쪽이다. 또한 마이크로비트는 전면과 후면으로 나눠져 있다. 만져보았을 때 보드의 가운데 양쪽에 볼록 튀어나온 부분이 있는 곳이 전면부라고 생각하면 되고, 위쪽에 3개의 튀어나온 부분이 있는 곳이 후면부라고 생각하자.

1) 전면부의 구성

전면부는 다음과 같은 구성을 가지고 있다. LED 25개(가로, 세로 5개씩), A 버튼, B 버튼, I/O 핀, 3V, GND이다.

LED는 전면부의 가운데 가로와 세로 5개씩 총 25개가 있으며 밝기 조절이 가능하고 디스플레이 용도뿐만 아니라 광센서의 역할도 한다. A 버튼은 전면부의 가운데 왼쪽에 있는 버튼이며, B 버튼은 전면부의 가운데 오른쪽에 있는 버튼으로 프로그래밍을 통해 사용할 수 있는 푸시버튼으로 게임 및 음악 컨트롤을 위해 사용할 수 있다. I/O 핀은 전면부 하단에 있는 5개의 구멍 중 왼쪽부터 3개의 구멍을 말하며 이는 0, 1, 2로 표시되어 있으며 악어 클립 또는 케이블을 사용해서 외부 하드웨어와 연결하여 전력을 공급하거나 디지털 혹은 아날로그 데이터의 입, 출력이 가능한 핀이다. 3V와 GND는 전원 공급을 필요로 하는 전동 모터 등과 같은 외부 기기에 전원을 공급하는데 사용한다.

더 알아보기

5개의 주요 핀 외에 마이크로비트는 더 많은 입출력 단자를 가지고 있다. 5개 핀 구멍의 하단부를 만져보면 굴곡이 느껴질 것이다. 이는 5개 주요 입출력 단자를 제외한 추가적인 입출력 단자를 구분하는 홈이다. 추가 입출력 단자는 3부터 22핀으로 나눠져 있으며 이를 활용하기 위해서는 [마이크로비트 브레이크 아웃 I/O 확장 보드]를 이용하면 된다.

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

[그림 01] 마이크로비트 브레이크 아웃 I/O 확장 보드

2) 후면부의 구성

후면부는 다음과 같은 구성을 가지고 있다. 저전력 블루투스 안테나, USB 소켓, 재시작 버튼, 배터리 소켓, 상태 표시 램프, 마이크로컨트롤러, 가속도 및 지자기 센서이다. 저전력 블루투스 안테나는 후면부 상단 왼쪽에 있는 직선 모양 음파로 되어 나온 부분이며 스마트폰, 태블릿PC 혹 PC 등 BLE 안테나를 가진 다른 기기들과 정보를 주고받을 수 있어 사물인터넷(IoT)을 위한 프로그램에도 활용할 수 있다.

USB 소켓은 후면부 상단 가운데 있는 처음으로 돌출된 곳이며 제작한 프로그램은 USB 케이블을 통해 마이크로비트로 다운로드할 수 있다. 재시작 버튼은 USB 소켓 오른쪽에 있는 돌출된 곳으로 후면부 상단 돌출된 3곳 중 가운데이며 마이크로비트를 재시작할 때 사용한다. 배터리 소켓은 후면부 상단 돌출된 3곳 중 가장 오른쪽에 있으며 외장 배터리 팩을 연결하는데 사용된다. USB 소켓과 재시작 버튼 사이에는 상태 표시 램프가 있으며 이 램프의 역할은 시스템에서 사용자에게 무언가 알릴 상황이 있으면 노란색 LED 램프가 깜빡이게 된다. 후면부 상단 왼쪽에 있는 저전력 블루투스 안테나의 바로 밑에 조금 돌출된 곳이 있는데 이곳은 마이크로컨트롤러로 256kb의 플래시 메모리와 16kb의 RAM을 내장하고 있고, 온도 센싱이 가능하다.

마지막으로 마이크로컨트롤러의 남서쪽에 위치하고 있으며 하단의 왼쪽 첫 번째 홀(GDN) 위에 있는 2개의 돌출된 것은 가속도 및 지자기 센서이다. 이는 속도 변화, 자기장 감지, 방향 검출 등이 가능하다.

2마이크로파이선 실행하기

마이크로비트는 마이크로소프트의 자바스크립트 블록 에디터를 통해 프로그램을 할 수 있어 초등학생도 쉽게 이용할 수 있으며, 자바스크립트와 파이선을 통한 텍스트 코딩도 할 수 있다. 전용 프로그램을 다운로드하지 않아도 코딩을 할 수 있지만 마이크로비트 파이선 전용 함수를 사용하기 때문에 이 활동에서 더 알아보고자 한다.

가. 마이크로파이선 프로그램 접속하기

마이크로파이선은 마이크로비트에 텍스트 코딩을 할 수 있는 전용 파이선 프로그램을 의미한다. 따로 프로그램을 설치하지 않고 웹에서 실행시킬 수 있기 때문에 편리하다. 이 마이크로파이선에 연결하는 방법을 간단하게 4단계로 언급하면 다음과 같다.

1) 마이크로비트를 연결하기

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

마이크로비트를 micro USB 케이블을 이용해 컴퓨터에 연결한다. 맥 OS, PC, 크롬북, 리눅스(라즈베리 파이까지)에도 모두 가능하다. 컴퓨터에 연결된 마이크로비트는 ‘MICROBIT’라는 저장 장치로 나타난다. 하지만 일반적인 저장 장치는 아니다.

2) 프로그램을 작성하기

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

마이크로파이선(MicroPython)에 접속하는 방법은 다음과 같다.

인터넷에 접속하여 검색 창에 “마이크로비트”라고 입력한다. 검색되는 사이트(http://microbit.org/ko/)에 접속하게 되면 마이크로비트 사이트에 접속하게 된다. 사이트에서 “코드 만들기”에 들어간 뒤 15번째 탭의 프로그램 만들기로 들어가면 된다.(11번째 탭의 프로그램 만들기는 자바 스크립트 블록 편집기 코드 만들기이다.)

마이크로파이선에 접속하는 또 다른 방법이 있다. 이는 인터넷 주소창에 다음 주소(http://python.microbit.org/v/1)를 작성하게 되면 바로 마이크로파이선이 실행되게 된다.

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

[그림 02] 마이크로파이선 실행창

처음 마이크로파이선이 실행되었을 때 마이크로비트의 LED 창에 “Hello, World!”로 표시되는 프로그램이 작성되어 있는데 여러분들의 프로그램을 새롭게 작성하기 위해서는 작성되어 있는 모든 프로그램을 삭제한 뒤 시작하면 될 것이다.

3) 프로그램을 다운로드하기

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

편집기에 있는 다운로드(Download) 버튼을 누르면 ‘hex’ 파일이 다운로드 될 것이다. ‘hex’ 파일은 여러분이 만든 프로그램을 최소화/최적화시켜 만든 것으로 마이크로비트를 통해 실행시킬 수 있다. Hex 파일이 다운로드 되면, USB 저장 장치에 복사하는 것과 같은 방법으로 그 파일을 마이크로비트에 복사해 넣으면 된다. 윈도우 운영체제에서는 ‘hex’ 파일에서 마우스 오른쪽 클릭 후, “보내기→MICROBIT”를 선택하면 된다. 다른 방법으로는 ‘hex’ 파일을 잘라내기 또는 복사를 하여 MICROBIT에서 붙여넣기를 하면 된다.

4) 가지고 놀아보기

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

여러분이 만든 프로그램이 마이크로비트로 업로드되는 동안에는 마이크로비트가 잠시 정지되고 마이크로비트의 뒷면에 있는 노란색 LED가 깜박이게 될 것이다. 프로그램 업로드가 끝나면 업로드된 프로그램 코드가 자동으로 실행될 것이다.

더 알아보기

MICROBIT 드라이브는 자동적으로 컴퓨터에서 연결 해제가 되지만 여러분이 만든 hex 프로그램은 마이크로비트로 업로드될 것이다. 마이크로비트에는 hex 파일만 저장되며 다른 파일들은 저장이 되지 않는다.

3프로그램 실행 환경 구축하기

마이크로비트는 전면부의 25개의 LED 창을 이용한 시각적 표시를 이룰 수 있지만 시각장애학생에게는 시각적 결과보다는 청각적 결과를 프로그램의 결과로 보여주는 것이 좋을 것 같다. 그렇기 때문에 이 단원은 다양한 마이크로파이선의 명령어 중 청각적 결과를 보여주는 명령어를 기반으로 알려주고 이러한 명령어를 통해 프로젝트 학습을 진행하고자 한다.

청각적 결과를 보여주기 위해서는 소리가 출력되어야 한다. 하지만 마이크로비트는 자체 스피커 기능이 없다. 그렇기 때문에 프로그램 된 결과를 청각적 신호를 통해 확인하기 위해서는 환경을 구축해야 한다.

여기서는 다음과 같은 2가지 방법을 제시하고자 한다.

- 피에조 버저를 사용하는 방법

- 개인용 3.5파이 이어폰을 사용하는 방법

공통 작업

- 마이크로비트의 다양한 핀 중 0핀은 +단자, GND 핀는 -단자이다.

- 0핀과 GND 핀에 각각 악어 클립은 연결한다.

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

[그림 03] 마이크로비트 0핀과 GND 핀에 악어 클립을 연결한 모습

가. 피에조 버저와 마이크로비트 연결하기

- 피에조 버저는 소리를 출력해 주는 작은 스피커라고 보면 된다.

- 피에조 버저는 원기둥 모양에 +핀과 -핀이 꽂아져 있는 모습이다.

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

[그림 04] 피에조 버저의 모습


더 알아보기

피에조 버저마다 기본적인 행태는 같지만 +핀과 -핀의 길이가 같은 형태도 있고 다른 형태도 있다. 시각장애학생교육을 위해서는 각 핀의 길이가 다른 형태의 피에조 버저를 사용하는 것이 학생들의 교육지도에 원활할 것이다. 혹시나 가지고 있는 피에조 버저의 +핀과 -핀이 같은 형태인 경우에는 한쪽 극의 핀을 니퍼 등으로 잘라서 +극과 -극의 길이가 차이나게 하여도 된다.

- 공통 작업을 통해 마이크로비트에 연결된 악어 클립 중 0핀과 연결된 악어 클립을 피에조 버저의 +핀과 연결하고, GND 핀에 연결되 악어 클립을 피에조 버저의 -핀과 연결한다.

나. 개인용 3.5파이 이어폰과 마이크로비트 연결하기

- 3.5파이 이어폰은 흔히 사용되는 개인용 이어폰이다.

- 공통 작업을 통해 마이크로비트에 연결된 악어 클립 중 pin0을 이어폰 팁의 바깥쪽에 pinGND 핀을 이어폰 팁의 안쪽 팁에 연결한다.

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

[그림 05] 3.5파이 이어폰과 악어 클립을 연결한 모습

4마이크로파이선 프로그램 실행해보기

그럼 다음의 예시를 기반으로 한번 마이크로파이선에 프로그램을 입력해 보자.

일반적으로 마이크로파이선에 입력하는 방법은 위의 마이크로파이선 실행하기를 통해 진행하면 된다. 그렇게 되면 현재의 스크린리더로는 마이크로파이선의 실행 창을 읽어주지 못하기 때문에 다음의 방법을 제시한다.

① 메모장에 작성

② 마이크로파이선에 작성된 코드 옮기기

그렇다면 위의 방법을 연습 예제를 통해 연습해 보도록 하자. 연습할 예제의 코드는 다음과 같다. 보통은 Hello World라는 디스플레이를 시작하게 되는데, 이번에는 소리를 낼 수 있는 명령어를 연습 예제로 준비했기 때문에 3단원의 실행환경을 구축해야지만 코드의 실행 유무를 확인할 수 있다.

마이크로비트 확장보드 사용법 - maikeulobiteu hwagjangbodeu sayongbeob

from microbit import *

import music

music.play(music.WEDDING)

<실행방법>

① 먼저 윈도우+R키를 통해 실행 창을 켠다.

② 실행 창 열기에 [notepad]라고 작성하여 메모장을 켠다.

③ 그다음 메모장에 위의 예제를 작성한다.

④ 작성된 코드를 복사한다.

⑤ 마이크로파이선을 실행시키고 코드 입력창으로 들어와서 제시되어 있는 코드를 지운 뒤 메모장에서 작성한 코드를 붙여넣기한다.

⑥ 마이크로파이선의 다운로드를 통해 작성된 코드를 “hex” 파일로 저장한다.

⑦ 저장된 폴더에서 파일을 찾은 뒤 파일을 “보내기→MICROBIT”로 이동시키다.

⑧ 이동이 완료되면 마이크로비트에서 작성된 코드가 바로 실행된다.

위와 같이 코드를 마이크로비트에 입력했을 때 어떤 소리가 날까? 웨딩 행진곡 소리가 들린다면 여러분들은 성공한 것이다.

이 차시에서는 마이크로비트에 대해 알아보고 마이크로파이선을 통해 프로그램을 확인할 수 있는 환경 구축과 메모장을 활용한 코드 작성방법을 알아보았다. 다음 차시에서는 다양한 마이크로파이선의 명령어에 대해 알아보도록 하자.