[[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