- 追加された行はこの色です。
- 削除された行はこの色です。
task main()
*//台から落ちないロボット// [#q01eb19f]
task main()
{
SetPower(OUT_A,6);SetPower(OUT_C,6);//回転数を決める
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_2, SENSOR_LIGHT);//センサーを決める
int a;//変数を決める(aは定数)
while(true ){
OnFwd(OUT_A+OUT_C);a=35; //前進 aを35にする
until (SENSOR_1 || SENSOR_2 <a);//センサー1か2がa以下まで前進
if(SENSOR_1 <a){ // もしセンサー1がa以下のとき以下
OnRev(OUT_A); until(SENSOR_1>a); // センサー1がa以上になるまで
モーターAを逆回転
}
if(SENSOR_2 <a){ //もしセンサー2がa以下のとき以下
OnRev(OUT_C); until(SENSOR_2>a);//センサー2がa以上になるまで
モーターCを逆回転
}
if(SENSOR_1 && SENSOR_2 <a){//もしセンサー1と2がa以下のとき以下
OnRev(OUT_A+OUT_C);
until(SENSOR_1 && SENSOR_2 >a);//センサー1と2がa以上になるまで
後退
}
}
Off(OUT_A+OUT_C);//停止
}
*《感想・反省》 [#me7bf72e]
センサーを二つ使った。センサーを外側につくようにした。回転軸を車体の真中にした。
ロボットが机上から転落しないように、ロボットの先端に取り付けたセンサーを用いて、机上から転落しそうになったら後退するというものである。
センサーの位置によって後退時間が変化してしまうので、ロボットが落ちないギリギリに取り付けた。この取り付け位置もプログラム同様に苦労した点である。