- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/C2]]
*五角形に動くキャタピラロボット [#z24f6e92]
task main()
{
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(150);
repeat(4){
OnRev(OUT_C);
Wait(80);
OnFwd(OUT_C);
Wait(150);
}
Off(OUT_A+OUT_C);
}
-何秒回転させるかを決めるのが大変だった。
-repeat使って簡単に見やすく作ってみました☆
*「左」を書くロボット [#kadai1]
task main()
{
OnFwd(OUT_A+OUT_C); //1画目
Wait(100);
OnFwd(OUT_B); //ペン上げ
Wait(50);
Off(OUT_A+OUT_B+OUT_C);
Wait(200);
OnRev(OUT_A);
Wait(130);
OnRev(OUT_B); //ペン下げ
OnRev(OUT_A+OUT_C); //2画目
Wait(150);
OnFwd(OUT_B); //ぺン上げ
Wait(50);
Off(OUT_A+OUT_B+OUT_C);
Wait(200);
OnFwd(OUT_A+OUT_C);
Wait(200);
OnRev(OUT_A);
Wait(108);
OnRev(OUT_A+OUT_C);
Wait(75);
OnRev(OUT_B); //ペン下げ
OnRev(OUT_A+OUT_C); //3画目
Wait(90);
OnFwd(OUT_B); //ペン上げ
Wait(50);
Off(OUT_A+OUT_B+OUT_C);
Wait(200);
OnFwd(OUT_A+OUT_C);
Wait(180);
OnRev(OUT_A);
Wait(85);
OnRev(OUT_A+OUT_C);
Wait(85);
OnFwd(OUT_A+OUT_C); //4画目
OnRev(OUT_B); //ペン下げ
Wait(55);
OnFwd(OUT_B); //ペン上げ
Wait(50);
Off(OUT_A+OUT_B+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(90);
OnRev(OUT_A+OUT_C);
Wait(15);
OnRev(OUT_B); //ペン下げ
OnRev(OUT_A+OUT_C); //5画目
Wait(120);
Off(OUT_A+OUT_B+OUT_C);
}
-3画目からが難しかった。
-予想以上に思いどおりに動いてくれなくて苦労した。
*センサを使って机の周りを動くキャタピラロボット [#kadai2]
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_TOUCH);
while(true)
{
if(SENSOR_3 == 1) //右のセンサが押されている
{
OnFwd(OUT_A+OUT_C); //直進
} else { //右のセンサが押されていない
Off(OUT_C); //右に回る
OnFwd(OUT_A);
}
if(SENSOR_1 == 1) //左のセンサが押されている
{
OnRev(OUT_A); //左に曲がる
OnFwd(OUT_C); Wait(170);
}
}
Off(OUT_A+OUT_C);
}
-机の足にタイヤがひっかからないように、センサがうまく働くように工夫してロボットを作った。
-センサがうまく働かず、右に回りすぎて困った。
#ref(img_0007_Medium.jpg)
コメントをお願いします
-サブルーチンや関数を使ってみましょう。 -- [[松本(教員)]] &new{2005-11-11 (金) 22:59:48};
#comment