1단계: 만들어 보세요.
프로젝트 소개
소리 데이터 기록 및 수집 프로그램을 만들어서 자신 주변의 소리 크기가 어떻게 달라지는지 분석해보세요.
소개
프로그래밍 가이드
학습 내용
- 신형 micro:bit 의 마이크를 센서로 사용해서 소리 크기를 측정하는 방법
- 실제 세상과 관련한 데이터들을 수집할 때, 최대값을 기록하고 추적하기 위해 변수와 연산자를 사용하는 방법
설명
- 신형 micro:bit 의 마이크를 사용하면 0 부터 255 까지의 범위로 소리의 세기(크기)를 측정할 수 있습니다. 빛 센서로 측정되는 값과 똑같은 범위입니다.
- 반복 실행구조를 사용해서 계속해서 주변 소리의 크기를 측정하고, 그렇게 측정한 소리 크기 값을 maxSound 변수에 저장되어있는 가장 큰 소리 값과 비교합니다. 측정한 소리 크기 값이 이전에 저장되어있던 가장 큰 소리 값보다 크다면, maxSound 변수에 측정한 소리 값을 가장 큰 소리 값으로 저장합니다.
- 반복 실행구조 안에서는 A 버튼이 눌렸는지에 대한 버튼 눌림 상태도 계속 검사합니다. A 버튼이 눌려져 있는 경우에는, 소리 크기 값을 LED 화면으로 출력합니다. 이렇게 A 버튼을 사용하면, 장소에 따라 주변 소리가 얼마나 시끄러운지 체크하고 살펴볼 수 있습니다.
- 가장 시끄러운 소리 크기 값은 micro:bit 뒷 면에 있는 리셋 버튼을 눌러 0 으로 초기화 할 수 있습니다.
준비물
- 소리 기능이 있는 신형 micro:bit (또는 MakeCode 시뮬레이터)
- MakeCode 또는 Python 편집기
- AAA 배터리 팩 (옵션)
2단계: 프로그래밍 해보세요.
1from microbit import *
2maxSound = 0
3lights = Image("11111:"
4 "11111:"
5 "11111:"
6 "11111:"
7 "11111")
8# ignore first sound level reading
9soundLevel = microphone.sound_level()
10sleep(200)
11
12while True:
13 if button_a.is_pressed():
14 display.scroll(maxSound)
15 else:
16 soundLevel = microphone.sound_level()
17 display.show(lights * soundLevel)
18 if soundLevel > maxSound:
19 maxSound = soundLevel
20
3단계: 더 좋게 만들어 보세요.
- 가장 조용한 소리 크기 값, 평균 값, 소리 값을 계속 기록하도록 프로그램을 개선해보세요.
- 무선 라디오 기능을 사용하면, 다른 micro:bit 로 측정한 소리 크기값을 전송해서 무선으로 소리 크기를 모니터링 할 수 있습니다.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.