■ハードウェア(赤外線タワーとPCの接続)
PCにはCOM(シリアル)ポートがないので、USB→RS232C変換ケーブルを使って赤外線タワーと接続することにした。RCXの赤外線タワーのCOMポート側の通信速度は2400baudらしいので速度的には余裕。今回は バッファローコクヨのArvel USBシリアルケーブル(SRC06USB)を Amazonで購入。
ドライバはBuffaloのhomepageからダウンロードして使用。ポートをCOM2, 2400baudに設定を変更して接続。
■ソフトウェア(開発環境)
MINDSTORMS RCX1.0に付属するRIS1.5は、Windows-XPでは使いたくないので、代替ソフトとして LeJOS RCX 2.1.0を使うことにした。version 3 はリリース候補2が2006年で止まったままだなぁ。動くかもしれないけどまだ試してない。
LeJOSはJDK(Java Development Kit)が必要。最新のJDK1.6をサポートとは書いていないが動く。JDKを ダウンロードしてインストール。LeJOSもsourceforge.netからダウンロード。URLは下記のとおり。
- LeJOS, Java for LEGO Mindstorms:
LeJOS RCX Win32 version 2.1.0 - Java SE Design Kit 1.6: JDK 1.6 update 16
■LeJOS設定
基本的には LeJOSのREADMEに書いてあるとおりで、Exampleの節にある手順で動作の確認ができる。でもJDK1.6を使う場合は、LeJOSで正しくコンパイルする時にちょっと設定が必要。
まずは、赤外線タワーの設定。DOS コマンドプロンプトでRCXTTYにシリアル⇔USB変換ケーブルに設定したポート名を指定。
set RCXTTY=COM2
次に、JDK の bin と lejos の bin ディレクトリにpathを通す(環境変数: %PATH%に設定する)。またLeJOSにJavaコンパイラを認識させるために環境変数 %JAVAC% に JDK のbin\javac.exe を指定する。
このとき、MS-DOS8.3形式にしないとうまく認識されないことがあるので注意。(8.3形式は dir /x オプションで表示できるので確認すること。)
set PATH=%PATH%;D:\lejos\lejos\bin;C:\Progra~1\Java\jdk16~1.0_1\bin
set JAVAC=C:\Progra~1\Java\jdk16~1.0_1\bin\javac.exe
次に RCX1.0 に firmware を転送する。もちろん、RCXの電源を入れておく。
lejosfirmdl -f
変換ケーブルのTXのランプが点滅して、赤外線タワーの緑のランプが転送していればまずは成功。転送終了後に lejosfirmdl がメッセージを出すので正しく転送できたかを確認。
では、LeJOSのサンプルプログラム "View" を コンパイルして RCXで動かしてみよう。
まずは、コンパイル用に設定する。
cd example\view
set CLASSPATH=.
次にコンパイル。JDK1.5以降では、-target と -sourceオプション指定が必要だ。忘れると "version not recognized" のメッセージがでて正しくlejosが動作しない。
lejosc -target 1.1 -source 1.2 *.java
そして、RCXに転送する。
lejos View
RCXで動かしてみよう。RCXの[View]ボタンを押すと、センサー1,2,3→モーター1,2,3の順に選択が切り替わり、センサーを選択しているときは、LCDに戻り値が、モーターのときはRUNボタンを押すと回転方向・ON/OFFを変更できる。
つぎは、Java開発環境の整備かな…。ノートパッドはつらすぎる…。
(つづく...)


