[microbit] マイクロビット プログラム例 明るさを検知してLEDでライトアニメーション

スポンサーリンク

マイクロビットのプログラミング例として、マイクロビットで明るさを検知して、暗くなったらLEDにライト風アニメーションを表示する「ライト」プログラムを作りました。レゴの台車にのせたマイクロビットで明るさを調べて、明るいときは「明るさ」を数値で表示して、暗いときはLEDでライト風アニメーションを表示します。アニメーションは、0.1秒毎にLEDの表示を切り替えることで表現しました

マイクロビットで明るさを検知してLEDでライトアニメ点灯

明るさを検知する 明るさセンサー

「入力」〜「明るさ」で、マイクロビットにどのくらい光があたっているを調べることができます。「明るさ」は数字(暗い:0〜255:明るい)で取り込めます。「ある数値」より下だったら「暗い」、上だったら「明るい」というような判断に使えます。

「入力」から「明るさ」を選ぶ

マイクロビットのプログラムでは、「明るさ」を「条件」と組み合わせて、明るいところ・暗いところでLEDの動作を変えるようにしました。明るいところでは実際の「明るさ」を数値で表示させて、暗いところではLEDにライト点灯のアニメーションを光らせました。

ずっと繰り返す

何かの状態をずっと調べておくには、「基本」〜「ずっと」を使います。一般的には、「繰り返し処理」とか「ループ処理」と呼ばれます。中にアクションを組み込めるようになっているので、何かを調べた結果を判断して、色々なアクションをつなげることができます。

「基本」から「ずっと」を選ぶ

マイクロビットのプログラムでは、常に明るさを見張っていて、「明るいとき」と「暗いとき」で動作を変えるようにしました。レゴの台車にマイクロビットをのせて動かして、トンネルに入ると「ライト風のLEDアニメーション」を表示させました。

条件をわける

ある条件について「条件を満たしたとき」と「満たさなかったとき」でアクションをわけるのが、「論理」〜「もし・・・なら」というブロックです。

「論理」から「条件判断」を選ぶ

マイクロビットのプログラムでは、「明るさ」の数値が「40より下(暗い)」か「40より上(明るい)」かで条件をわけました。明るいときには、「明るさ」を数値で表示したので、プログラムの「条件わけ」が正しく判断できているかを確認するのに便利でした。

アニメーション チカチカとLEDの表示を切り替える

LEDでアニメーションを表現したい場合は、「基本」−「表示」のLED画面に表示する模様を複数準備して、「基本」〜「一時停止」と組み合わせて表示を切り替えます。

マイクロビットのプログラムでは、掲載用に単純にしましたが、実際はもっといろいろな表示を切り替えて「ライトがだんだん点灯する様子」を面白く表現できました。子供が一番楽しいと感じる部分だと思うので、是非工夫してみて下さい。

マイクロビットのプログラムを動かす

子供が好きなレゴの台車に乗せて、マイクロビットのプログラムを動かしました。明るいところ・暗いところでLEDの表示がちゃんと変わって、楽しそうでした!

マイクロビットでプログラムを動かしたところ

プログラムのヒント

「明るさ」を常に検知するために、「ずっと」の繰り返し処理の中で「明るさ」に応じて分岐処理を行いました。単純なプログラムですが、センサーからの情報を使うことの楽しさを感じられるプログラムでした。マイクロビットをレゴの台車に乗せて遊んだのですが、室内の明かりだと「明るい」「暗い」の判断がすぐに切り替わることがあって、実際の制御は難しいと感じました。もしかしたら、天気の良い屋外だともっと反応が良いかもしれません。また、ボタン動作と組み合わせたりして、そのときだけ「明るさ」を調べるとかいう使い方も面白いかもしれません。

プログラミングの感想(小学5年生)

どうやればわかりやすくできるか考えるのが、難しかったです。これが、役立つことを、見つけたいです。

タイトルとURLをコピーしました