「EV3 Basic」というレゴ マインドストームEV3用のプログラミング環境について紹介します。「EV3 Basic」を使うとBASIC言語を使ってインテリジェントブロックEV3を制御することができます。

▲「EV3 Basic」の公式サイトがこちらです。英語のサイトです。
http://www.ev3basic.com
「EV3 Basic」は「Small Basic」の拡張機能として動きます。「Small Basic」はマイクロソフトが無償で提供しているBasic言語の開発環境です。
「EV3 Basic」を導入するには、まず「Small Basic」をインストールする必要があります。インストーラを入手するには上の写真の赤丸(左側)の部分をクリックしましょう。

▲「Small Basic」のインストール中の様子です。

▲「Small Basic」は日本語にも対応しています。インストールのさいに「日本語」を選択しておきましょう。

▲「Small Basic」を実行すると、こんな感じです。この状態ではまだEV3を制御することはできません。
ちなみに「Microsoft¥Small Basic」フォルダの中にサンプルプログラムが収録されています。このサンプルはいったんローカルにコピーしないとうまく実行できないようです。そのままだとエラーが出てしまいました。

▲続いて、「EV3 Basic」をインストールします。インストーラはGithubで公開されていました。「EV3 Basic」の公式サイトからリンクされていますので、ダウンロードしましょう。

▲インストール中の様子です。

▲インストールが完了すると「EV3Explorer」というメニューが出現しました。通常は「Small Basic」から呼び出しますので、このメニューは使いません。

▲GitHubのページには「Examples.zip」というファイルが公開されています。これを展開すると、サンプルが収録されていました。
見たところセンサー入力からモーター出力まで一通りそろっているようです。
ファイルの拡張子は「sb」です。そのままでは関連付けされていませんので、「Small Basic」に関連付けしておきましょう。

▲サンプルの一つ、「TowersOfHanoi.sb」というプログラムです。Basic言語とはいっても、非常に現代的な書式です。

▲プログラムの実行方法はUSBケーブル(有線)とBluetoothとWi-Fiの3種類あります。実行時にUSBケーブルが接続していない場合には、このダイアログが表示されます。
Bluetoothで動かす場合には、あらかじめEV3をペアリングしておかないといけません。ペアリングに成功すると「COM~」の何番かに回線が割り当てられます。回線の番号は使用しているパソコンの状態によって変わります。

▲「TowersOfHanoi.sb」を実行中の様子です。インテリジェントブロックのディスプレイに「ハノイの塔」が表示されました。
黒い四角形が1個ずつ動いていきます。

▲「HelloWorld.sb」を実行中の様子です。
なお、重要なことなのですが、実行プログラムはexeファイルとしてパソコン側に生成されますが、インテリジェントブロックには生成されません。プログラムの実行中、パソコンとインテリジェントブロックが通信し続けるわけです。そのため、インテリジェントブロックがスタンドアロンでプログラムを動かすことはできません。これが「EV3 Basic」の短所なのですが、パソコンのマシンパワーをフルに使えるというメリットがありますので、巨大で複雑なプログラムを動かしたいという場合には重宝するかもしれません。