「EV3 Basic」というレゴ マインドストームEV3用のプログラミング環境について紹介します。「EV3 Basic」を使うとBASIC言語を使ってインテリジェントブロックEV3を制御することができます。
![Ev3basic01 Ev3basic01](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01bb08b05d47970d-320wi)
▲「EV3 Basic」の公式サイトがこちらです。英語のサイトです。
http://www.ev3basic.com
「EV3 Basic」は「Small Basic」の拡張機能として動きます。「Small Basic」はマイクロソフトが無償で提供しているBasic言語の開発環境です。
「EV3 Basic」を導入するには、まず「Small Basic」をインストールする必要があります。インストーラを入手するには上の写真の赤丸(左側)の部分をクリックしましょう。
![Ev3basic02 Ev3basic02](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01bb08b05d4f970d-320wi)
▲「Small Basic」のインストール中の様子です。
![Ev3basic03 Ev3basic03](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c80b8da1970b-320wi)
▲「Small Basic」は日本語にも対応しています。インストールのさいに「日本語」を選択しておきましょう。
![Ev3basic04 Ev3basic04](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c80b8e20970b-320wi)
▲「Small Basic」を実行すると、こんな感じです。この状態ではまだEV3を制御することはできません。
ちなみに「Microsoft¥Small Basic」フォルダの中にサンプルプログラムが収録されています。このサンプルはいったんローカルにコピーしないとうまく実行できないようです。そのままだとエラーが出てしまいました。
![Ev3basic05 Ev3basic05](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01bb08b05de4970d-320wi)
▲続いて、「EV3 Basic」をインストールします。インストーラはGithubで公開されていました。「EV3 Basic」の公式サイトからリンクされていますので、ダウンロードしましょう。
![Ev3basic06 Ev3basic06](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c80b8e28970b-320wi)
▲インストール中の様子です。
![Ev3basic07 Ev3basic07](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c80b8e36970b-320wi)
▲インストールが完了すると「EV3Explorer」というメニューが出現しました。通常は「Small Basic」から呼び出しますので、このメニューは使いません。
![Ev3basic08 Ev3basic08](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b8d1959f60970c-320wi)
▲GitHubのページには「Examples.zip」というファイルが公開されています。これを展開すると、サンプルが収録されていました。
見たところセンサー入力からモーター出力まで一通りそろっているようです。
ファイルの拡張子は「sb」です。そのままでは関連付けされていませんので、「Small Basic」に関連付けしておきましょう。
![Ev3basic09 Ev3basic09](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b8d1959f70970c-320wi)
▲サンプルの一つ、「TowersOfHanoi.sb」というプログラムです。Basic言語とはいっても、非常に現代的な書式です。
![Ev3exp Ev3exp](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b8d195a0da970c-320wi)
▲プログラムの実行方法はUSBケーブル(有線)とBluetoothとWi-Fiの3種類あります。実行時にUSBケーブルが接続していない場合には、このダイアログが表示されます。
Bluetoothで動かす場合には、あらかじめEV3をペアリングしておかないといけません。ペアリングに成功すると「COM~」の何番かに回線が割り当てられます。回線の番号は使用しているパソコンの状態によって変わります。
![Ev3basic10 Ev3basic10](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c80b8e66970b-320wi)
▲「TowersOfHanoi.sb」を実行中の様子です。インテリジェントブロックのディスプレイに「ハノイの塔」が表示されました。
黒い四角形が1個ずつ動いていきます。
![Ev3basic11 Ev3basic11](https://nxt.typepad.jp/.a/6a0120a6ffc261970b01b7c80b8e7a970b-320wi)
▲「HelloWorld.sb」を実行中の様子です。
なお、重要なことなのですが、実行プログラムはexeファイルとしてパソコン側に生成されますが、インテリジェントブロックには生成されません。プログラムの実行中、パソコンとインテリジェントブロックが通信し続けるわけです。そのため、インテリジェントブロックがスタンドアロンでプログラムを動かすことはできません。これが「EV3 Basic」の短所なのですが、パソコンのマシンパワーをフルに使えるというメリットがありますので、巨大で複雑なプログラムを動かしたいという場合には重宝するかもしれません。