LEGO マインドストーム

プログラムの学習教材としても、よく使われるLEGOマインドストームですが、私もちょっと前は夢中になった時期がありました。
このブログとして取り上げないわけにはいかない題材ですので、久しぶりにMindstorms NXTを使ってみました。

環境は、当時使っていたWindows XP

nxt01_snd

下のように、NXTを二つのタイアをつけたモータの上に置いた簡単な3輪車をつくりました。マイクにあるレベル以上の音声が入力されると前進してとまり、もう一度入力があると、後進して元の位置に戻ります。これを繰り返します。(オレンジのループブロック)

nxt

それぞれのブロックは以下のようなパラメータを設定します。

プログラムの開始時に’Hello’はしゃべります。
nxt01_snd

ポート1につないだマイク入力が32より大きくなると次に進みます。
nxt02_mic

ポートB,Cにつないだモータを、2つとも同時に1回転させます。(2回目は方向を逆にする)
nxt03_move

処理を1秒間停止します。
nxt04_wait

実はこのツールよりもRubyプログラミングによるダイレクトコマンドの方が好きでした。(Mac環境) これはBluetooth通信を使ってリモートでリアルタイムに制御できます。このツールでは、プログラムを作るたびにUSB接続したNXTにプログラムロードする必要があるからです。
しかし久しぶりに使ってみて、プログラム教育という観点からは、この方が優れている感じました。

やはり、これは楽しいです。
でもこのNXT、ちょっと古いため、画面にノイズが入り見にくくなっていました。最新のEv3が欲しいところです。