Skip to content

활동

메트로놈

초급 | MakeCode, Python | LED, 버튼, 사운드 | 박자, 반복 실행

1단계: 만들어 보세요.

프로젝트 소개

음악 연습을 할 때, 원하는 속도로 빠르거나 느리게 일정한 속도를 만들어주는 전자 메트로놈 프로그램을 만들어보세요.

소개

프로그래밍 가이드

학습 내용

  • micro:bit 에서 음악이 연주되는 1분당 박자수를 조절하는 방법
  • 버튼 입력과 오디오 출력을 이용해서 전자 장치를 만드는 방법

설명

  • 프로그램이 시작되면, 100 bpm 으로 설정합니다. bpm 은 1 분 동안의 박자 수를 의미합니다. bpm 은 음악, 횟수 등을 측정하는 표준 속도 측정 방법 중 한 가지 입니다.
  • 반복 실행 구조를 사용해서, 어떤 음을 출력한 다음에 그 음을 1 박자 동안 유지시킵니다.
  • micro:bit 의 0 번 핀과 GND 핀에 유선 헤드폰을 연결시키거나, 신형 micro:bit 를 사용하면 그 소리를 들을 수 있습니다.
  • A 버튼을 누르면 5 bpm 만큼 느려집니다.
  • B 버튼을 누르면 5 bpm 만큼 빨라집니다.
  • A 버튼과 B 버튼을 함께 누르면, 그 때의 bmp 수를 LED 화면으로 출력합니다.

준비물

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

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

1from microbit import *
2import music
3tempo = 100
4
5while True:
6    music.set_tempo(bpm=tempo)
7    music.play(['C4:1', 'r:3']) # play C for 1 tick, rest for 3 ticks
8    if button_a.was_pressed():
9        tempo -= 5
10    if button_b.was_pressed():
11        tempo += 5  
12    

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

  • 실제 똑같은 BPM 으로 설정한 전자기기보다 살짝 느리다는 것을 알아낼 수도 있습니다. - 왜냐하면 반복 실행 구조를 1 번 처리하는 동안에 1/16 박자 만큼 더 시간이 지나가기 때문입니다.
  • 최대한 비슷하게 만들기 위해서 1/2 + 1/4 + 1/8 + 1/16 박자로 실행시켜서 1/16 만큼 시간이 더 걸리는 것과 합쳐서 1박자에 최대한 가깝게 만드는 방법을 실험해 볼 수도 있습니다.
  • '무한반복 실행' 블록을 실행할 때에도 조금 시간이 느려집니다. ‘while 반복 실행’ 블록을 사용하면 그 시간을 조금 더 줄일 수도 있습니다.
  • 그 방법은 위에 있는 프로그래밍 동영상을 살펴봐주세요.
15/16 박자를 만드는 방법과 관련한 설명 그림