前の記事はこちら いまさらながらRCXを動かしてみるプロジェクト!? その3
さて、PCとRCXの通信ができたっぽいので・・・いよいよプログラムを動かしてみます。
これが正解かどうか分かりませんが、私がやっている手順を列挙します。
①USB-シリアル変換ケーブルにシリアルTowerを接続します。(シリアルTowerには、当然ながら9V電池を入れます。)
②USB-シリアル変換ケーブルをPCに接続します。
③デバイスマネージャーを起動して、USB-シリアル変換ケーブルのポート番号を調べます。
④BricxCCを起動します。
BricType : RCX
Port : COM4 ← ③で調べたポート番号
を指定してOKをクリックします。
これで、BricxCC(NQC)が起動するハズです。
⑤ Tools の Find Brick がグレーアウト(色が薄く表示)されていることを確認します。
(普通に黒色で表示されている場合は、PCがRCXを認識していないということ。)
⑥ Tools の Download firmware を選択して、firm0328.lgoを指定すると・・・シリアルTowerの前に置かれたRCXのLCDの数値がカウントアップされていく。(これが、TowerとRCXの微妙な位置関係で、よく失敗するので、うまく転送される角度を見つけよう・・・笑)
カウントアップは2494で終了しました。転送に掛かった時間は4分15秒でした。
さて、ここまでで、準備が終了です。
まずは、超簡単なプログラムを作ってみます。
task main ()
{
OnFwd(OUT_A);
Wait(300);
Off(OUT_A);
}
そして、RCXのポートAにランプを接続して・・・プログラムを転送します。
ピピッと鳴って、転送終了
さて、RCXのRUNボタン(緑色)を押すと・・・ランプが3秒間光ってプログラムが終了します。
おぉ! 久々に感動です!
じゃあ次は、タッチセンサーを付けてみます。
ポート1にタッチセンサー、ポートAにランプを接続して・・・
プログラムスタートでランプを光らせて、タッチスイッチを押すと、ランプが消えるプログラム。
task main()
{
SetSensor(SENSOR_1, SENSOR_TOUCH);
OnFwd(OUT_A);
until (SENSOR_1 == 1);
Off(OUT_A);
}
はい、普通に動きました。
ちょっと、接触が悪いように感じるのは・・・10年間も放置していたからだと思います。
とりあえず、本日の最後・・・
ポート1に光センサー、ポートAにランプを接続して、光センサーが黒を感知したら、ランプを消灯、光センサーが白を感知したら、ランプを点灯します。
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
while(true)
{
if(SENSOR_1 <40 )
Off(OUT_A);
else
OnFwd(OUT_A);
}
}
はい、できました。
RCXのViewボタン(黒)で光センサーの値を測るのも懐かしい・・・です。
ということで、本日の作業は終了です。
続きの記事はこちら いまさらながらRCXを動かしてみるプロジェクト!? その5