Skip to content

活動

聲音記錄器

中等級數 | MakeCode, Python | LED 螢幕, 麥克風 | 數據處理, 算術運算符, 變數, 輸入輸出

步驟1:製作

它是什麼?

製作一個聲音水準測試儀,來監測您周圍的不同環境在不同時段的聲響情況。

介紹

編程指引

您將學到什麼

  • 如何使用新版 micro:bit 的內建麥克風感測器來測量聲音的大小
  • 當您在收集真實世界的數據時,使用變數和運算符來追蹤最大值

運作方式

  • 新版 micro:bit 的麥克風將測量到的聲響程度用數字 0 至 255 來表示,就和燈光感測器一樣。
  • 循環持續將目前的聲響與變數 maxSound 中儲存的最大聲響值來進行比較。 如果目前的聲響比前一次大,這將重設 maxSound 為新的最大響度。
  • 在循環中,一個 if 語句將檢查你是否按了按鍵 A,如果您按了,它就會在 LED 顯示輸出上顯示聲級數字。 您可以利用這種方式來監測周圍環境在不同時段的聲響情況。
  • 按 micro:bit 背面的重設按鍵即可重新設定最大值。

你需要的東西

  • 新版包含內建聲音功能的 micro:bit(或 MakeCode 模擬器)
  • MakeCode 或, Python 編輯器
  • 電池組(選配)

步驟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,以便可以進行遠端監測