제1강 인트로덕션
micro:bit를 직접 만져 보고, 센서를 사용한 간단한 악기를 만들어 봅시다.
이번 강의의 목표
- micro:bit의 기본적인 사용법을 이해한다
- 밝기 센서를 사용해 「테레민」 같은 악기를 만든다
- 가속도 센서를 사용해 「핸드벨」을 만든다
- 디바이스 아트・사운드 아트의 개요를 안다
준비물
| 항목 | 설명 |
|---|---|
| micro:bit V2 | 센서가 내장된 마이크로컨트롤러 보드 |
| USB 케이블 | micro:bit와 PC를 연결한다(micro USB) |
| PC | Windows 또는 Mac |
| 헤드폰 / 이어폰 | 소리를 확인하기 위해 사용 |
micro:bit란
micro:bit는 BBC(영국방송협회)가 교육용으로 개발한 소형 마이크로컨트롤러 보드입니다. 다음과 같은 센서와 장치가 내장되어 있습니다.
- LED 디스플레이(5×5)
- 버튼(A / B 두 개)
- 가속도 센서(기울기・진동을 감지)
- 밝기 센서(LED를 광센서로 활용)
- 지자기 센서(전자 나침반)
- 터치 센서(V2의 로고 마크)
- 마이크・스피커(V2)
- 무선 통신(Bluetooth / Radio)
프로그래밍에는 MakeCode 에디터 를 사용합니다. 브라우저에서 블록 프로그래밍을 할 수 있습니다.
MakeCode 에디터
https://makecode.microbit.org/ 에 접속해서 「새 프로젝트」를 클릭하면 개발을 시작할 수 있습니다.
Step 1: micro:bit의 기본 조작
MakeCode 에디터 사용법
- 브라우저에서 makecode.microbit.org 에 접속한다
- 「새 프로젝트」 를 클릭한다
- 프로젝트 이름을 입력한다(예:「테레민」)
에디터 화면의 구성
- 왼쪽: micro:bit 시뮬레이터(프로그램의 동작을 PC에서 확인할 수 있다)
- 가운데: 블록 카테고리(사용하고 싶은 블록을 고른다)
- 오른쪽: 프로그래밍 영역(블록을 조합한다)
프로그램 전송 방법
- USB 케이블로 micro:bit와 PC를 연결한다
- 에디터 왼쪽 아래의 「다운로드」 버튼을 클릭한다
- (자동으로 전송되지 않는 경우)다운로드한
.hex파일을 micro:bit 드라이브에 복사한다
페어링
MakeCode 에디터의 「다운로드」 버튼 옆에 있는 「...」에서 「Connect device」를 선택하면 USB 페어링을 할 수 있습니다. 페어링 후에는 다운로드 버튼을 누르는 것만으로 바로 전송할 수 있습니다.
Step 2: 밝기 센서로 테레민을 만들어 보자
테레민(Theremin) 은 손을 가까이 대거나 멀리 떼면서 음의 높낮이를 바꾸는 전자 악기입니다. micro:bit의 밝기 센서를 사용해 비슷한 악기를 만들어 봅시다.
밝기 센서의 원리
micro:bit의 LED 디스플레이는 빛의 양을 감지하는 센서로도 기능합니다.
- 밝은 곳: 큰 값(최대 255)
- 어두운 곳: 작은 값(최소 0)
- 손으로 LED를 가리면 값이 바뀝니다
만드는 방법
- MakeCode 에디터에서 새 프로젝트를 만든다
- 다음 블록을 조립한다:
프로그램의 흐름:
무한 반복:
밝기 → 주파수로 변환
그 주파수로 소리를 낸다- 「입력」 카테고리에서 「밝기」 블록을 사용한다
- 「음악」 카테고리에서 「음 재생」 블록을 사용한다
- 밝기 값(0〜255)을 주파수(200〜2000 Hz 정도)로 매핑한다
- 「계산」 카테고리의 「값 매핑」 블록을 사용해 변환한다
시리얼 통신으로 PC에 값을 보내기
센서 값을 PC에서 확인하려면 시리얼 통신을 사용합니다.
- 「시리얼 통신」 카테고리에서 「시리얼로 값 쓰기」 블록을 추가한다
- 레이블에 「light」, 값에 「밝기」 블록을 설정한다
- MakeCode의 「콘솔 표시」 버튼으로 값을 실시간으로 확인할 수 있다
주의
시리얼 통신을 사용하면 USB를 통해 데이터가 PC로 전송됩니다. 이후 강의에서 Pure Data와 연동할 때 이 시리얼 통신이 중요해집니다.
Step 3: 가속도 센서로 핸드벨을 만들어 보자
micro:bit를 흔들면 소리가 나는 핸드벨 을 만들어 봅시다.
가속도 센서의 원리
가속도 센서는 micro:bit의 움직임(기울기・진동・충격)을 감지합니다.
- X 축: 좌우의 기울기
- Y 축: 앞뒤의 기울기
- Z 축: 상하의 움직임
- strength(세기): 전 방향의 합성값
만드는 방법
- MakeCode 에디터에서 새 프로젝트를 만든다
- 다음 흐름으로 프로그램을 만든다:
프로그램의 흐름:
흔들렸을(shake) 때:
소리를 낸다(예: 도 음, 500ms)
LED에 음표 아이콘을 표시한다- 「입력」 카테고리에서 「흔들렸을 때」 블록을 사용한다
- 「음악」 카테고리의 「음 재생」 으로 원하는 음계를 설정한다
- 「기본」 카테고리의 「아이콘 표시」 로 음표 아이콘을 표시한다
응용: 여러 개의 소리를 할당하기
흔드는 방식을 바꿔서 여러 개의 소리를 낼 수도 있습니다.
- 「흔들렸을 때」 → 도
- 「로고가 위를 향했을 때」 → 레
- 「로고가 아래를 향했을 때」 → 미
- 「화면이 위를 향했을 때」 → 파
도전 과제
가속도의 세기(strength)를 사용해서, 흔드는 세기에 따라 음량을 바꿔 봅시다. 「입력」→「기타」→「가속도 strength」를 사용합니다.
디바이스 아트・사운드 아트란
디바이스 아트
디바이스 아트(Device Art) 란 전자 장치나 센서를 사용해 만들어지는 예술 작품을 말합니다. 관람자가 장치를 만지거나 몸을 움직임으로써 작품이 변화하는 인터랙티브 한 특징이 있습니다.
사운드 아트
사운드 아트(Sound Art) 란 「소리」를 주된 소재로 사용하는 예술 표현입니다. 기존의 음악과는 달리 환경음・노이즈・전자음 등 모든 소리를 표현의 대상으로 삼습니다.
이 수업에서는 micro:bit의 센서 와 Pure Data의 음향 합성 을 결합하여, 나만의 인터랙티브 사운드 아트 작품을 제작해 나갑니다.