台から落ちないロボット

Programed by 体調

task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_TOUCH);
while(true)
{
OnFwd(OUT_A+OUT_C);
until ((SENSOR_1 == 0) || (SENSOR_3 == 0));
Off(OUT_A+OUT_C);
Wait(50);
OnRev(OUT_A+OUT_C);
until ((SENSOR_1 == 1) && (SENSOR_3 == 1));
Wait(50);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(300);
Off(OUT_A+OUT_C);
Wait(50);
OnFwd(OUT_A+OUT_C);
}
Wait(200);
Off(OUT_A+OUT_C);
}

 このRCXには前方にタッチセンサーを2個取り付け、台の上にある場合は押されている状態(SENSOR==1)となり、台からそれると押されていない状態(SENSOR==0)となります。  台からそれると、後退して方向を変えて再び前進します。工夫した点は、交代する際に後退を始めてから何秒間後退するというのではなく、後退して、台の上に戻ってから何秒間後退するかというプログラムにしてあります。 Written by 体調


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-02-22 (火) 15:07:49 (5295d)