Skip to content

활동

소리 나침반

중급 | MakeCode, Python | LED, 버튼, 사운드, 자기 센서 | 나침반 사용, 변수, 선택 실행, 조건/관계 연산자

1단계: 만들어 보세요.

프로젝트 소개

자기 북쪽 방향을 가리킬 때 소리가 나도록, 더 편리한 나침반을 만들어 보세요.

소개

프로그래밍 가이드

학습 내용

  • micro:bit 의 자기센서 값을 읽어 사용하는 방법
  • 변수, 조건/선택 실행구조, 비교/관계 연산자, 논리 연산자를 사용해서 원하는 센서값 범위 일 때 이벤트를 실행시키는 방법

설명

  • 반복 실행구조를 사용해서 자기 북극 방향을 계속 감지합니다. 감지한 자기 북극 방향을 direction 변수에 저장합니다.
  • 그 자기 북극 방향 각도 값이 355 보다 크거나 5 보다 작으면, 마이크로비트가 자기 북극 방향으로 향하고 있는 것입니다. 그런 경우, LED 화면에 N 을 출력하고 비프음 소리를 출력합니다.
  • 신형 micro:bit 에서는 내장 스피커를 통해 소리를 들을 수 있습니다. 구형 micro:bit 에서는 0 번 핀과 GND 핀을 유선 헤드폰과 연결하면 소리를 들을 수 있습니다.
  • 마이크로비트의 방향이 북쪽 방향이 아니면 화면을 지우고 소리를 멈춥니다.
  • 북쪽 방향으로 향하고 있지 않을 경우, A 버튼을 눌러서 북쪽 방향 각도를 LED 화면에 출력할 수 있습니다.
  • micro:bit 에서 나침반 관련 자기센서 관련 프로그램을 처음 실행시키는 경우, 게임 같은 간단한 작업이 요청될 것입니다. 화면을 이리저리 기울여서 화면의 모든 LED 에 불을 켜면 됩니다. 그렇게 하면 자기센서(나침반 센서)를 보정해서, 센서가 정확하게 작동할 수 있도록 만들어줍니다.
micro:bit 와 나침반 방향표지 그림

준비물

  • micro:bit 1대
  • MakeCode 또는 Python 편집기
  • AAA 배터리 팩 (옵션)

2단계: 프로그래밍 해보세요.

1from microbit import *
2import music
3
4while True:
5    direction = compass.heading()
6    if direction < 5 or direction > 355:
7        display.show('N')
8        music.play("C4:1")
9    elif button_a.is_pressed():
10        display.scroll(direction)
11    else:
12        display.clear()
13        music.stop()
14

3단계: 더 좋게 만들어 보세요.

  • 마이크로비트의 방향에 따라서 서로 다른 소리가 출력되도록 개선해보세요.: 남(South), 동(East), 서(West).
  • 마이크로비트로 감지되는 방향이 정확하지 않다고 생각할 때 자기센서를 다시 보정할 수 있도록, 버튼을 추가해 보세요. MakeCode 에서는 '자기센서 보정 실행' 블록으로 자기센서를 보정할 수 있습니다. Python 에서는 compass.calibrate() 를 사용할 수 있습니다.