2004/A1/練習問題8班2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** 台から落ちないロボット [#c74d30df]
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 体調
終了行:
** 台から落ちないロボット [#c74d30df]
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 体調
ページ名: