最新ページ情報

このページでは、mBlock3を使って光センサーのデータの確認方法を紹介しています。最新のビジュアルプログラミングソフト「mBlock5」での光センサーのプログラムの基本については、以下のページも、ご参照下さい。

■最新版mBlock5対応!光センサーの使い方と基本をマスター
https://j-tinkering.com/mblock5-mbot7/

mBotの制御ボードmCoreは色々センサー繋げられる

mBotの制御ボードを「mCore」と言います。mCoreは、mBot用に設計された制御ボード(制御基板)です。基板上に、ブザー、RGB LEDなどの出力パーツと、明るさの強度を測定する光センサー(照度センサー)、ボタン、赤外線受光器(赤外線リモコンの信号を受信する)を搭載しています。

mCore 制御ボード 全体像

制御ボード自体は、オープンソースのマイコン「Arduino」に基づいて設計されています。また、4つのポートが用意されていて、そのポートの様々なセンサー・出力パーツを繋げて、機能を拡張する事が出来ます。

どのポートにどのセンサーを繋げるかを見分ける為に、ポートに色がついています。mBot本体には、拡張モジュールである超音波センサーとライントレースセンサーが標準で同梱されていますが、超音波センサーには黄色いラベル、ライントレースセンサーには、青いラベルがついていて、その色を見れば、mCoreのどのポートに繋げればよいか分かるという訳です。

世の中には、色々なセンサーがありますが、センサーによって、制御ボードに繋げる為のインターフェース(ざっくり言うと信号を送信する為の種類・ルール)が違うので、そこを分かりやすくする為のMakeblock社の工夫ですね。センサーを繋げて拡張する為には、物理で習うような電子分野の勉強が必要なのですが、その辺は、小学生には難しいので、そこの壁を無くしています。

各ラベルの色とそれに対応するセンサー・外部パーツの表がこちらです。

makeblock タグーセンサー対応表

こんな感じで、かなりの拡張性を持っています。mCoreのポートは、ひとつのポートで色々な色のタグに対応しています。mCoreに繋がる追加モジュールの主なモノは、こんな感じです。

mCoreセンサー対応表

 

mBot本体についているセンサーだけでもかなり奥が深いのですが、さらに拡張性を持たせることが出来るので、この辺は、子供がライントレースセンサーや超音波センサーでのプログラミングに飽きたころに、大人がアドオンパックや、追加のセンサーを購入してやって見せると、子供はさらに興味を持ち始めると思います!mBotアドオンパックや拡張モジュールのレビューもしていますので、良かったら以下ご参照くださいませ!

mBot 機能拡張パックレビュー サーボパック編

mBot 機能拡張パックレビュー 音声&光センサーパック編

 

mBotにLEDマトリクスをつける

 

光(照度)センサーのデータをmBlockで確認する

mCoreボードに搭載されている光センサー(照度センサー・ライトセンサー)のデータを確認してみましょう。

mCoreの光センサー画像

mBlockでセンサーデータを表示するには、2通りあります。

1、パンダに言わせる→こちらが簡単

2、ステージにグラフを作って表示させる→応用編、ちょっと難しい。

mBotの光センサーデータのデータをmBlockのスプライトに言わせる

センサーデータを表示させるには、「見た目」パレットの、「●●と言う」のブロックを使います。最初は、「こんにちはと言う」という設定になっています。ブロックをスクリプトエリアに持ってきてクリックすると、パンダが、「こんにちは」って言いますよね。

mBlockでパンダがこんにちはというの画像

その●●の部分に、ロボットパレットの「光センサーの●●の値」というブロックをいれます。
●●は、

・ボード上の光センサー
・ポート3
・ポート4

me 光センサー画像

光センサー拡張モジュールのイメージ ※出典:Makeblock社HP https://www.makeblock.com/

の中から選びます。今は、ボード上の光センサーの値を言わせたいので、「ボード上の光センサー」を選択しましょう。尚、例えば、光センサーと音声センサー付きの拡張パックには、ポート3か4に繋がる光センサーが入っています。その拡張のセンサーを使うときは、ポート3か4を選ぶという事ですね。

 

mBlockで光センサーのポート選択の画像

上のようなスクリプトを作って、プログラムを実行すると、パンダが、下の画像のように「センサーの値」を言います。センサーの値は0から1023まであり、「数値が低いほど暗い」「数値が高いほど明るい」という事を表します。

mBlockでパンタが一回だけセンサーの値を言う

ただ、このプログラムだけだと、緑の旗をクリックしたとき時点のセンサー計測数値しか言ってくれません。
そこで、「ずっと」ブロックを下のように加えると、センサーの値を連続的にずっと行ってくれます。

mBlockでパンダが光センサーの値を連続的に言う

この状態で、部屋を暗くしたり、光センサーの上に手をかざして、センサーの周りが暗くなるようにしましょう。
そうすると、数値がどんどん変化していく様子が確認できると思います。

mBlockステージ上で、センサーのデータをグラフ化する

次は、センサーデータをグラフ化してみましょう。

まずは、mBlockの背景をX-Y座標にするところからはじめます。

1、背景を変更する

mBlock背景選択

2、X-Y座標背景にする

mBlock X-Y grid選択画像

3、コスチューム(パンダ)の設定画面にする

mBlockコスチューム変更の選択

4、パンダを消す

mBlockで選択したコスチュームを消す

これで、ステージ上が、XーY座標グラフになりました。

その後は、スクリプトエリアに、こんな感じのプログラムを作ってやります。

mBlock光りセンサーデータグラフ化のプログラム画像

こんな感じで、データの値が取得されます。

mBlockでセンサーデータをグラフ化する

センサーの値を10分の1で言わせているのは、光センサーのデータが、部屋の蛍光灯の明るさ程度だと、900~1000なのですが、X座標で表示できる数値が最大で240、Y座標が180なので、そのままだと、グラフに数値が入らないのですね。なので、センサーデータを10分の1にして言わせています。

実際の動画がこちらです。ボード上の光センサーをに手で覆う=暗くなると、数値が低くなり、手をどける=明るくなると、数値が高くなることが分かりますね!