今回は、mBotプログラミングシリーズの第7回です。
ここからは、mBotに搭載されているセンサーを使ったプログラミングを学びます。
センサーは周囲の情報を取得するための重要なツールであり、これを活用することでmBotの動きにより知的な要素を追加することができます。
今回は光センサーについて紹介します。
全講座の一覧はこちら
目標
- mBotの光センサーを理解する
- 光センサーを活用したプログラムを作成する。
光センサーとは
mBotのカバーを外すと、基板上に『Light Sensor』と書かれたところがあります。
これが光センサーです。
光センサーは、明るさを測定することができます。
明るさを0~1023の範囲で測定します。(0が暗く、1023が明るい)
必要なブロック
『センサー』パレット
各種センサーのブロックが入っています。
今回は光センサーのブロックを使います。
光センサーが測定した明るさを0~1023の値で表します。
簡単な動作プログラム作成
『光センサーの値をmBlockのステージ上にモニタリングする』プログラムを作ってみます。
変数『光センサーの値』を作って、光センサーブロックの値を変数に入れます。
『変数を表示する』ブロックを処理することで、光センサーの値がmBlockのステージ上に表示されます。
旗マークを押すたびに、その時のセンサー値で値が更新されます。
【例題】光センサーを使ってみよう
例題1:センサー値のモニタリング
- 例題
- 解答例
『光センサーの値をmBlockのステージ上にモニタリングし、常時、値を更新する』プログラムを作ってみましょう。
これにより、値が常時更新されます。
mBotをいろんな場所に持っていき、センサー値を確認してみましょう。
例題2:センサー値に応じて処理を切り替える
- 例題
- 解答例
『暗い場所でブザーが鳴る』プログラムを作ってみましょう。
本記事執筆の環境での光センサー値は、明るい場所:900、暗い場所:300でした。
そのため、『暗い場所』の判定に用いる値は、中間の500としています。
例題3:センサー値を用いて処理を切り替える
- 例題
- 解答例
『周囲の明るさに応じて、ブザーの音が変わる』プログラムを作ってみましょう。
『センサー値のブロック』は、そのまま数字入力の箇所に入れることができます。
条件分岐を使わずに、処理を節約することができます。
まとめ
今回は、光センサーを活用して周囲の明るさに応じた動作を作成しました。
センサー値を使うことで、mBotはよりインタラクティブで柔軟な動きを実現できます。
次回は、超音波センサーを用いたプログラムを学びます。
mBlockを使ったmBotのプログラミング方法を丁寧に解説していておススメです。
mBotを使用した拡張的な遊びは『mBotでものづくりをはじめよう』が参考になります。mBotのパーツを段ボールと組み合わせてオリジナルのロボットを作るといったような拡張的な遊びが楽しめます。
コメント