Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

LEGOでプログラミング~モーター・センサーの機能とアプリケーションの使い方を知ろう

LEGOで始めるIoTプログラミング 第2回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/10/30 11:00

 本連載では、筆者が小学生の娘と一緒に実際にLEGO MINDSTORMSを動かしてみた体験とともに、どんな楽しみ方があるのか紹介します。前回は、「LEGO MINDSTORMS EV3」やプログラミングについての概要などを紹介しましたが、今回は、HOME版の各デバイスの機能とプログラミング用アプリケーションの使い方を紹介します。「教育版」の場合はその製品を購入した会社や学校などで提供しているテキストやマニュアル等があると思うので、ここではそれらの紹介はしません。また、「教育版」ではジャイロセンサーや超音波センサーなど他のデバイスもありますが、デバイスを別途入手すれば「HOME版」でも利用は可能です。これらの使い方が知りたい方は、ヘルプなどを参照してください。

EdTechZine

CodeZine読者の皆様、こんにちは。本稿は、教育ICT(EdTech)のオンラインメディア「EdTechZine」で公開中の記事からの転載(一部)です。全文はEdTechZineのページでお読みいただけます。

読者対象

  • プログラミングについて学びたい人・教えたい人
  • プログラムが動く楽しさを知りたい人
  • プログラムでロボットを動かしたい人

デバイスの種類

 「LEGO MINDSTORMS EV3」でロボットを作る為にはどういったデバイスがあり、それらのデバイスにどういった機能があるのか知る必要があります。

 LEGO MINDSTORMSには大きく分けて「本体(EV3ブロック)」と「モーター」、「センサー」の3種類のデバイスがあります。それぞれ、持っている役割が大きく異なるので、まずそれらの概要を紹介します。

EV3ブロックデバイス

 EV3ブロック(図1)は、ロボットの中心的なデバイスです。

図1:EV3ブロック
図1:EV3ブロック

 EV3ブロックは、表1のインターフェースもしくは機能を持ちます。

表1:EV3ブロックの役割と機能
インターフェース・機能 説明 
入力ポート(1,2,3,4)  各種センサーの入力を受けつける
出力ポート(A,B,C,D) モーターを接続する
スピーカー 周波数を指定した音の再生や音階を指定した音の他に、音声ファイル等を指定した再生が可能
ディスプレイ 178x128ピクセルのディスプレイ。ディスプレイ上には画像や図形の表示が可能
ステータスライト 緑・黄・赤色のライトを操作可能。主にプログラム内のステータスなどを表現する際に利用
ボタン  5つのボタン(左・中央・右・上・下)の機能を提供。ボタンを押して何らかの処理を開始、もしくは停止などをする際に利用

 どの入力ポートにモーターをつないでも、また、どの出力ポートにセンサーをつないでも動作させることができます。

 ただし、入力ポートと出力ポートの端子の形式が同じで、どちらにも接続できてしまうのですが、入力ポートと出力ポートを間違えて接続しても動作しないので注意してください。

 また、提供されているサンプルプログラムでは、各デバイスで表1の通り初期ポートが設定されています。プログラミングの際に変更することも可能ですが、できるだけ初期ポートに合わせた接続をすることで簡単な間違いを減らせます。

表2:初期ポート
デバイス名 初期ポート
タッチセンサー ポート1
カラーセンサー  ポート3
赤外線センサー ポート4
Mモーター ポートA
Lモーター(2つ同時利用)  ポートB、ポートC
Lモーター(1つで利用) ポートD

モーターデバイス

 モーターには、図2の通りLモーターとMモーターの2種類あります。

 Lモーターはパワーが必要な動作をするために利用します。特に移動のために利用する場合には2つセットで利用されます。そのため、プログラミングブロックでも2つを同時に操作し、移動することを前提としたものが用意されています。

 また、MモーターはパワーはLモーターよりも劣りますが、素早く動かすことができるモーターです。ロボットでは主に何かをつかんだりするような手の役割のように利用します。

図2:LモーターとMモーターデバイス
図2:LモーターとMモーターデバイス

センサーデバイス

 LEGO MINDSTORMSがロボットとして面白いのは図3に示すセンサーがある点です。

 センサーの動作の仕組みを理解するのは少々難しいですが、機能とセンサーの関係を知ることだけでも、非常に面白いと感じると思います。

 例えば、赤外線で距離や方位がわかるのですが、どう赤外線を使うと距離や方位がわかるのかなど、発展的に別の興味が生まれてくることもこの製品の特徴の1つでしょう。

 ここで紹介する以外にもこちらのように他のデバイスも追加可能です。

図3:HOME版に付属するセンサーデバイス
図3:HOME版に付属するセンサーデバイス
タッチセンサー

 タッチセンサーでは、先端部分が何かに「触れた」「ぶつかった」「離れた」を管理します。ロボットが何かにぶつかったことを検知することや、何かのアクションを起こすためのボタンの役目にも利用します。

カラーセンサー

 カラーセンサーでは、表3の3つのモードがあり、色情報以外も把握できます。

表3:カラーセンサーのモード
モード 説明
色モード 黒、青、緑、黄、赤、白、茶の7色および無色の識別ができます。ロボットを動かす際に色がついたエリアで停止することなどができます。
反射光の強さモード センサーからの発光ランプから反射される光の強さの測定が可能です。線の上を動くようなことをしたい場合などに利用できます。
周辺の光の強さモード 周辺の光に応じて反応を変えることが可能です。ライトが当たると自動的に動く、もしくは止まるなどを行いたい場合などに利用できます。
赤外線センサー・遠隔赤外線ビーコン

 赤外線センサーには、単体で利用する接近度モードと、遠隔赤外線ビーコンと一緒に利用するビーコンモード、遠隔モードがあります。

表4:赤外線センサー・遠隔赤外線ビーコンのモード
モード 説明
接近度モード 送信するシグナルの反射を検出して、センサーの正面にある物体までの接近度(距離)を検出できます。障害物に近づくと自動的に止まるといった場合などに利用できます。
ビーコンモード ビーコンモードは遠隔赤外線ビーコンまでの距離と大まかな方位がわかります。例えば、ビーコン端末に自動的についていくようなことをしたい場合に利用できます。
遠隔モード 遠隔赤外線ビーコンにあるボタンの検知が行えます。特定の動作をするための切替スイッチやコントロールをするためのボタンなどを作りたい場合に利用できます。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。個人紹介主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしど...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:from EdTechZine
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5