これはUltimate Accessory Setに付属しているMindStormsを操作するためのリモコンである。数年前のかずの誕生日に購入したもので,プログラミングに縁のなかったかずがロボットをこのリモコンで動かすのが大好きだったので我が家では「かずのリモコン」と呼ばれている。

 A,B,Cと書かれた場所に2つずつ付いているボタンで出力ポートA,B,Cに接続したモーターを前後に回転させることができる。P1,P2,P3,P4,P5はプログラムの切り替えに使う。今回使うのはLEGOのロゴの下にあるmessageと書かれた1,2,3のボタンである。

 このボタンを押すと,それがメッセージとしてRCXに伝わるのである。メッセージと言うと,何か小難しそうに聞こえるが,ようはmessage1のボタンが押されたら1というメッセージが伝わるだけなのである。だけなのであるが,このメッセージをRCXセンサーウォッチャーというプログラムブロックで受け取ることにより,リモコンの機能をカスタマイズできるのだ。単純にリモコンを操作するだけだとA,B,Cのボタンを手で押して,車を右に曲げたり,左に曲げたりすることになるのだが,この加減が結構難しい。直角に曲げようとしても,10回に1回成功すればよい方だ。



RCXセンサーウォッチャーを使って,message1が送られたら前進,2で左折,3で右折とプログラミングしておけば,確実な動作が期待できる。

 アバウトな性格の中に,妙な慎重さを宿すかずは「まず簡単なプログラムでテストして」と受信したメッセージによってビープ音を鳴らすプログラムを作ってみることにした。



 messageボタンを押すとMindStormsの本体RCXがビープ音を鳴らす。かずは最初,beepの下の数字ビープ音を鳴らす回数だと勘違いしていたのだが,この数字により鳴る音が変わるのである。リモコンのボタンを押してRCXを「ピー」とか「ピョロピョロ」と鳴らして,かずは納得した。



 次に,メッセージ1が押されたら車を前進させ,2で右折,3で左折させるプログラムである。2,3のメッセージが送られてきたら,AもしくはCのモーターをONにし,wait 6で0.6秒間片方のモーターだけを回し右左折させる。その後,両方のモーターをONにしてwait 10で1秒間前進させる。当然,床の素材やRCX内の電池の鮮度によって右左折に必要な時間は異なるので「4かな,5かな」と楽しそうにかずはプログラムを微調整する。

 1のメッセージで「スッー」と真っ直ぐに進み,2,3で「カクン」と曲がり「スッー」と進むリモコンカーが出来上がった。

 「おお,うまくいった。次何しよう?」というかずに「いや,今日はこのぐらいで勘弁して」と答え…