Skip to content

活動

スノードーム

初級 | MakeCode | LED表示, スピーカー, ボタン, 加速度センサー | アニメーション, 反復処理

ステップ1: 作る

説明

micro:bit を振ると雪が降り、A ボタンを押すと「きらきら」という音が鳴ります。

学ぶこと

micro:bit の LED ディスプレイに表示するアニメーションを作成する方法、micro:bit の加速度計を使用して動きに反応させる方法、micro:bit で表現力豊かなサウンドを再生する方法が学べます。 また、コンピュータプログラムでループを使用する方法も学べます。

動作の仕組み

  • このプログラムは、micro:bit の加速度計入力を使用して、振動を感知します。
  • 加速度計が突然の動きを感知すると、プログラムが micro:bit の LED ディスプレイに雪が動くアニメーションを表示します。
  • チェッカーボードパターンとその反転の画像が連続して表示され、動いているように見えます。
  • 各画像を表示した後、プログラムは次の画像を表示する前に 0.5 秒間 (500 ミリ秒) 一時停止します。 これにより、アニメーションのスピードが遅くなります。
  • このプログラムは、カウント制御ループを使用して、画像のシーケンスを 10 回表示します。 ループは反復とも呼ばれます。
  • スノードームは、ボタン A 入力を使って、表現力豊かなサウンド「きらきら」を再生します。
  • 表現力豊かなサウンドを再生するには、micro:bit V2 が必要です。 micro:bit V1 をお持ちの場合は、アニメーションプログラムのみを使用できます。 または、代わりに「play melody」ブロックを使って、ヘッドホンで音楽を再生することもできます。 ワニ口クリップ付きコードを使って、micro:bit の端子 0 をヘッドホンのプラグの先端に接続し、GND をヘッドホンのプラグの長い部分に接続します。

必要なもの

  • micro:bit
  • MakeCodeエディター
  • バッテリーパック(オプション)

ステップ2: プログラムする

1# Imports go at the top
2from microbit import *
3
4
5while True:
6    if button_a.was_pressed():
7        audio.play(Sound.TWINKLE) 
8    if accelerometer.was_gesture('shake'):
9        for i in range(10): 
10            display.show(Image('90909:'
11                               '09090:'
12                               '90909:'
13                               '09090:'
14                               '90909'))
15            sleep(500)
16            display.show(Image('09090:'
17                               '90909:'
18                               '09090:'
19                               '90909:'
20                               '09090'))
21            sleep(500)
22        display.clear()
23

ステップ3: 改善する

  • 「play melody」ブロックを使って、B ボタンを押すなどの他の入力によって、お祝いムードの曲が再生されるようにしてみましょう。 この方法については、民謡のループプロジェクトを参照してください。
  • 複数の「show LED」ブロックを使用して、よりリアルな降雪アニメーションを作ってみましょう。
  • 暗くなったときに LED ディスプレイに雪が動く様子が表示されるように、ナイトライトプロジェクトを調整しましょう。