PR

 今回はまず,かずの作品からご紹介する。



またしても,コマである。本当にかずはコマが好きだ。今回の作品は穴のあいたブロックにコマの軸をセットし,軸に付けた小さなギヤを横にあるギザギザの付いた棒で「えいっ」と引っ張って回す。これがいたってよく回る。「宇宙ゴマのようだね」と言いかけて,かずは宇宙ゴマなんて知るはずがないと言葉を飲み込んだ。かず風に言うと『ベイブレード』だ。

4月14日 かずが風呂に入っている間に,こうしろうとプログラムを作成した。いつもこうしろうがプログラミングをしている間,かずは「ぼく,なにもすることがない」とブ~たれているので,ロボットを作成する必要がないテーマをかずのいぬ間に進めたわけだ。

 まいどおなじみの接近センサーを使って,商店のドアのところに付いている赤外線センサー(店内に入ると,ピンポーンと音のするやつ)を作ってみた。



task send_signal()
{
 while(true)
 {SendMessage(0);Wait(10);}
}

task check_signal()
{
 while(true)
 {
 lastlevel = SENSOR_1;
 if(SENSOR_1 > lastlevel + 100)
  {
  PlaySound(3);
  Wait(100);
  }
 }
}

task main()
{
 SetSensorType(SENSOR_1,SENSOR_TYPE_LIGHT);
 SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);
 start send_signal;
 start check_signal;
}



RCXから赤外線を発し,ライトセンサーで読み取る。返す値に変化がみられたらチャイムを鳴らす。プログラムでいうと下記の部分である。

lastlevel = SENSOR_1;
if(SENSOR_1 > lastlevel + 100)
{
 PlaySound(3);
 Wait(100);
}


変数lastlevelにいったんライトセンサーの値を保存し,次に取得した値が保存した値と100以上違ったら,誰かが通ったと判断している。

 RCXを部屋のドアのところにセットして行ったり来たりすると,チャイムが鳴る。ひとまずは成功である。でも壁づたいに部屋に入ると反応しない。RCXの前に手をかざしてテストしてみたところ,約30cmまでだと反応し,それ以上だと無反応だった。

 if(SENSOR_1 > lastlevel + 100)の100を50に変えてみると,50cmまで反応した。再度20に変更すると,誤差の範囲になってしまうのかチャイムが鳴りぱっなしになった。以上の考察の結果,間口が50cm以内の商店では,実用化できることがことが分かった。(^^)

 今回,プログラムはこうしろうが作成したのだが,テストは私が行った。というのは,こうしろうは風呂から上がったかずと一緒にまた,ジオラマ大作戦を開始していたからだ。今度のジオラマは,電車と踏み切りが主役である。これは単にこうしろうがジオラマ好きなのか,あるいは兄としてかずと一緒にできることを考えた結果なのか・・・。

 聞かないでおこう。私としては,前回の二の舞にならないことを祈るだけである。