SEARCH
MENU

親子ロボットプログラミング講座(7:最終回)「センサーを使ったプログラミング(3) ~超音波センサー~」


親子で学ぶロボットプログラミング講座の第7回目(最終回)は、「センサーを使ったプログラミング(3)~超音波センサー~」です。

 

第1回目:親子でロボットプログラミングに取り組む
第2回目:ロボットプログラミングの準備をしよう
第3回目:mBotで初めてのロボットプログラミング
第4回目:mBotを自由に走らせよう
第5回目:センサーを使ったプログラミング(1)~ライントレースセンサー~
第6回目:センサーを使ったプログラミング(2)~光センサー~

 

mBotの見た目の特徴は何といっても、笑っている表情ですよね。この「目」ですが、実は、超音波センサーという、前にあるモノとの距離を計るセンサーなのです。

 

 

超音波センサーの仕組みは、簡単に言うと、「右目」から超音波を飛ばし、何かの障害物にあたって跳ね返ってくる音波を、「左目」で受信します。送信してから受信するまでの時間を計る事で、距離を測定するという仕組みです。

 

 

mBotの超音波センサーは、3~400cmの距離を計ることが出来ます。ただし、誤差は大きく、正確な距離測定には向いていないのと、検出してからデータが反映されるまで、少しタイムラグがありますので、プログラミングする時も、気をつけましょう。

 

STEP1:超音波センサーのセンサーデータを確認

まずは、超音波センサーの値を確認してみましょう。

 

超音波センサーの値は、3~400cmです。それをmBlock5で表示させるには、「センサー」ブロックパレットの中にある、

ブロックの横にある、チェックボックスにチェックを入れる事で、確認できます。

 

チェックボックスにチェックを入れると、スプライトエリアに、超音波センサーの値が表示されます。その状態で、mBotの超音波センサーの所に、手のひらを近づけたり、離したりしてみましょう。超音波センサーの数字が変わっていくのが分かります。超音波センサーの前に何もないと、「400」の数字で止まります。

 

 

STEP2:障害物回避プログラムを作ろう

 

チャレンジ!ロボットプログラミング(8) mBotを安全運転させるプログラミング

超音波センサーの前にあるモノの距離によって、値が変化することが確認できたら、「mBotが走行中に、15cm前に障害物があったら、止まる」というプログラミングを作ってみましょう。

 

(1)プログラミング前に、処理を整理してみる。
いきなり、mBlock5でプログラミングする前に、まずは、どういう手順で、処理していけばよいか、考えてみましょう。

「mBotが走行中に、15cm前に障害物があったら、止まる」

  1. mBotが走行中=「mBotが前向きに動いている」
  2. 15cm前に障害物があったら=「もし超音波センサーの距離(値)が、15cmより小さいなら」
  3. 止まる=「mBotの動きを止める」

 

(2)条件を決めるブロックを作る
前項の「もし超音波センサーの距離(値)が、15cmより小さいなら」という条件ブロックを作る時は、前回第6回目で出てきた、演算ブロックを使います。

 

(2-1)下のブロックを組み合わせて、プログラムを作ってみましょう。

 

(2-2)プログラムを作ったら、実行して、思い通りに動くかを試してみましょう

 

チャレンジ
  • 障害物を検知したら、ブザーを鳴らして止めてみよう
  • 障害物を検知したら、LEDを光らせて止めてみよう
  • 障害物を検知したら、障害物をよけて、また元の道に戻るプログラムを作ってみよう

 

ここがポイント センサーの値は常に動いている
障害物回避プログラムで、こんなプログラムを考えた人はいないでしょうか?

「超音波センサー値=15cm」の時に、動きを止めるという事であれば、このプログラムでも間違いではありません。

ですが、このSTEPの最初に確認したように、センサーの値は、常に揺れ動いていて、一つの数字にピタッと、止まっている事はありません。

上のプログラムでは、超音波センサーの値が、15センチで「ぴったり定まった時」じゃないと、mBotは止まらない、というプログラムです。

 

全7回にわたってご紹介した親子で学ぶロボットプログラミング講座は、今回で終了です。ご紹介した内容は、基本中の基本でした。もし、更に様々なプログラミングに挑戦したいとなりましたら、是非、mBotを利用したロボットコンテスト「MakeX」への挑戦をご検討下さい。MakeXは世界60か国で開催されている国際的ロボットコンテストです。日本でも、MakeX日本実行委員会が、毎年コンテストを開催しています。

 

MakeX2020 コンテストルール動画

 

コンテストは、毎年、「親がメンター・子供が選手」という格好で参加しているチームが優秀な成績を残しています。是非、親子で共通の目標に向かってチャレンジしてみてはいかがでしょうか。

 

筆者プロフィール

荻原 裕
TINKERBASE代表
2010年よりIOTデバイス開発ベンチャー企業での海外営業・新規事業開発・大企業向けIOT事業開発アクセラレーション責任者を歴任。
2018年より出張専門プログラミングスクール「TinkerBase」運営。
国際的ロボットプログラミング大会「MakeX」
2019東京大会審判委員長。2020東京大会事務総長。
2015年経済産業省登録 中小企業診断士。著書:IOTビジネス入門&実践講座 2016年 ソシム出版
2020年より文化学園大学杉並中学・高等学校 STEAMプロジェクト専任講師