MicrobitV2(バージョン2)のマイクのセンサーもついており、そこから音量を取得することができます。

今回は音量を検知して、それに合わせた絵を表示します。

1.音量によってLEDアイコンを変化させよう

1-1. サンプルコードの実行

下記のコードを書いて実行してください。マイクの前で何かを話すと顔がHAPPYになります。

from microbit import *

while True:
    if microphone.current_event() == SoundEvent.LOUD:
        display.show(Image.HAPPY)
    elif microphone.current_event() == SoundEvent.QUIET:
        display.show(Image.SAD)

次は音量レベルを取得します。マイクの前で何かを話すとその音量が0-255の値で表示されます。

from microbit import *

while True:
		# 音のレベル0-255を取得する
    level = microphone.sound_level()
		# 音のレベルを表示する
    display.scroll(level)
		print(level)
    sleep(500)

1-2. 練習

1-2-1. イコライザーを作ろう

音量(0-255)が取得できたので音量に合わせて4から5段階に表示が変化するイコライザーを作ってください。実際は0-25くらいの値で作るとより反応がいいイコライザーになります。

サンプルで5パターンのイメージを作りましたので、下記のコードに書き加えていってください。

from microbit import *

pattern1 = Image(
        "00000:"
        "00000:"
        "00000:"
        "00000:"
        "00000:"
        )
        
pattern2 = Image(
        "00000:"
        "00000:"
        "00000:"
        "00000:"
        "99999:"
        )
        
pattern3 = Image(
        "00000:"
        "00000:"
        "09990:"
        "99999:"
        "99999:"
        )
        
pattern4 = Image(
        "00900:"
        "09990:"
        "99999:"
        "99999:"
        "99999:"
        )
        
pattern5 = Image(
        "99999:"
        "99999:"
        "99999:"
        "99999:"
        "99999:"
        )

# デフォルト設定はpattern1
pattern = pattern1

1-2-1. イコライザーを作ろう