Skip to content

活動

節拍器

初學者 | MakeCode, Python | LED 螢幕, 按鈕, 聲音 | 迭代, 速度

步驟1:製作

它是什麼?

程式設計您自己的電子節拍器,當您在練習音樂的時候可以用它來打拍子,還可以調整節拍的快慢。

介紹

編程指引

您將學到什麼

  • 如何調整 micro:bit 音樂節拍的速度
  • 如何使用輸入按鍵以及聲音輸出來製作一個實用的電子裝置

運作方式

  • 在程式開始時,將節拍設定為 100 bpm(每分鐘 100 拍)。 這是一種測量音樂節奏或速度的標準方法。
  • 一個永遠的迴圈讓 micro:bit 持續播放一個短音符,然後休息一拍。
  • 將耳機連接到引腳 0 和 GND,或者用新版 micro:bit 的內建揚聲器,都能聽到聲音。
  • 按下按鍵 A 來使速度減慢 5 bpm。
  • 按下按鍵 B 來使速度加快 5 bpm。
  • 同時按下按鍵 A 和按鍵 B,LED 螢幕會顯示目前的速度。

你需要的東西

  • 一個micro:bit
  • MakeCode 或, Python 編輯器
  • 電池組(選配)

步驟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/2 + 1/4 + 1/8 + 1/16,就變成了 15/16,然後把 1/16 拍添加到您演奏的音內。
  • 「Forever」區塊也會有一點延遲,所以在它裡面使用「while true」迴圈會加快您的程式碼以增加準確度。
  • 本頁面上方的程式設計影片會教您如何做到。
顯示拍子的分數加起來有 15/16 拍的網格