ロボットキットレビューtinkeringTwitterFacebookはてブPocketPinterestLINE最新ページ情報このページでは、「mlock3」で解説しています。最新のビジュアルプログラミングソフト「mBlock5」での、より詳細な解説ページもありますので、そちらも合わせてご参照下さい。ーmBlock5対応版ーhttps://j-tinkering.com/mblock5-mbot8/mBotの「目」は超音波センサーmBotの見た目の特徴は何といっても、笑っている表情ですよね。この「目」ですが、実は、超音波センサーなんです。この超音波センサーはロボットプログラミング教材なんかでは、よく使われるポピュラーなセンサーです。LegoのMindstormsにもついてます。超音波センサーの仕組みは、簡単に言うと、右目から超音波を飛ばし、何かの障害物にあたって跳ね返ってくる音波を、左目で受信します。送信してから受信するまでの時間を計る事で、距離を測定するという仕組みです。mBotの超音波センサーは、3cm~400cmの距離を測ることが出来るという仕様ですが、誤差が大きいので、正確な距離測定には向いていないのと、タイムラグが大きいので、リアルタイムに距離を測定したいとか、高速で走るものに搭載して、障害物を検知させるというような用途には向いてません。こんな感じで、壁に向けて、プログラムを実行すると・・・パンダが、こんな感じで距離を言ってくれますね。mBotの説明書通りに組み立てると、超音波センサーは、「ポート3」に繋げるので、ロボットブロックを「超音波センサー(ポート3)の距離」に設定しています。ちなみに、障害物を検知していない時は、パンダは、「400」という数値を言います。障害物までの距離が10cm以下になったらmBotを止めるさて、この超音波センサーを使えば、何cm前方に障害物があるかどうかが検知できますね。この仕組みを使えば、例えば、こんなプログラムでmBotを壁との衝突から回避させる事が出来ます。このプログラムは、「超音波センサーで検知する距離」が10cm以上なら、前向きに100のスピードで走り、そうでなければ、とまるというプログラムです。https://j-tinkering.com/wp-content/uploads/2018/10/MOV_0208.mp4尚、変数ブロックで、距離を作成して、このようなプログラムを組んでも同じ動きになります。変数は、今後も複雑な計算式が必要になるプログラムでは、必須ですが、言葉で言うと、「値を入れる箱」というような説明になったりして、初心者、特にお子さんでは、直感的には分かりにくいでしょう。初めの簡単なプログラムの段階から、変数に慣れておけば、自然とイメージが身につくんじゃないでしょうか?(プログラムやプログラミング教育の専門家じゃないので、あくまで、個人的な意見としてです)さて、ここからは、さらに応用ですが、「乱数」ブロックを用いて、障害物があったら、右か左どちらか、ランダムに方向転換するというプログラムを作ってみます。すると、mBotが、障害物に囲まれた中で、うろうろする動きをさせる事が出来ます。プログラムだけじゃなくて、機能拡張パック「サーボパック」を使うと、更に、超音波センサーを動かしながら障害物を検知させるような、応用プログラムを作ることもできます。サーボパックのレビューも良かったらご覧ください。サーボパック編mBotを活用したロボコンである「MakeX」の競技の中でも、超音波センサーを活用する場面は頻繁にありますので、ぜひ、使いこなせるようにしたいですね。最新の「mBlock5」に対応した「mBot」の基本活用術も連載中です。合わせてご覧ください。17MakeX2019のテーマ・開催概要が発表されました。J-tinkering。