MicrobitV2(バージョン2)のマイクのセンサーもついており、そこから音量を取得することができます。
今回は音量を検知して、それに合わせた絵を表示します。
下記のコードを書いて実行してください。マイクの前で何かを話すと顔が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)
音量(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