[[2005/C2]
* 正四角形の作り方(キャタピラ編 [#w6dd179d]
task main()
{
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(300);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(300);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(300);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(300);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
Off(OUT_A+OUT_C);
}
*感想 [#o1fd1009]
-☆何秒で角度が決まるか分からず苦労した。
-☆ロボットは説明書のロボットを作ったので簡単に作れた。
*「左」を書くロボット [#kadai1]
task main()
{
OnFwd(OUT_A+OUT_C);
Wait(100);
OnFwd(OUT_B);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(180);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnFwd(OUT_A+OUT_C);
Wait(40);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(90);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnFwd(OUT_A+OUT_C);
Wait(150);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(200);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnRev(OUT_B);
Wait(100);
OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_B);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(180);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnFwd(OUT_A+OUT_C);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(80);
OnRev(OUT_A+OUT_C);
Wait(60);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnRev(OUT_B);
Wait(100);
OnFwd(OUT_A+OUT_C);
Wait(100);
OnFwd(OUT_B);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(180);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnFwd(OUT_A+OUT_C);
Wait(50);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(280);
OnRev(OUT_A+OUT_C);
Wait(75);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnRev(OUT_B);
Wait(100);
OnFwd(OUT_A+OUT_C);
Wait(80);
OnFwd(OUT_B);
Wait(100);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(90);
Off(OUT_A+OUT_C+OUT_B);
Wait(200);
OnRev(OUT_B);
Wait(100);
OnRev(OUT_A+OUT_C);
Wait(120);
OnFwd(OUT_B);
Wait(100);
Off(OUT_A+OUT_C+OUT_B);
}
*感想 [#ne8bb4d0]
-☆ロボットを作るときに、ペンを上げ下げする部分をモーターに接続させるのに苦労した。
-☆ロボットに字を書かせるのに、こんなに苦労するとは思わなかった。
*ロボットの写真 [#k23346b0]
#ref(IMG_0237.jpg)
*机の周りをまわるロボット [#kadai2]
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1を使う
SetSensor(SENSOR_3,SENSOR_TOUCH); //センサー3を使う
OnFwd(OUT_A+OUT_C); //前進する
until (SENSOR_1 == 1 || SENSOR_3 == 1); //センサー1,3が感知したら
Off(OUT_A+OUT_C); //止まる
while(true)
{
if (SENSOR_1 == 1 ) //センサー1が感知したら
{
OnFwd(OUT_A+OUT_C); //前進する
until (SENSOR_1 == 0 || SENSOR_3 == 1); //センサー1が離れてセンサー3だけ感知したら
Off(OUT_A+OUT_C);//止まる
}
if (SENSOR_3 == 1 )
{
Off(OUT_A+OUT_C); //止まる
OnRev(OUT_A+OUT_C) ; //後退
Wait(20);
OnFwd(OUT_A); //右に曲がる
Wait(155);
OnFwd(OUT_C); //左の壁に当たるまで動く
until (SENSOR_1 == 1); //センサー1が感知したら
Off(OUT_A+OUT_C); //止まる
}else{
OnFwd(OUT_C);
until (SENSOR_1 == 1);
}
}
}
*感想 [#p073e8d6]
-☆プログラムが大変だった。
-☆壁に当たってから方向を変えるのに苦労した。
*ライントレース [#kadai3]
task main ()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
while (true) {
if (SENSOR_2 < 50) {
OnFwd(OUT_A);
Off(OUT_C);
} else {
Off(OUT_A);
OnFwd(OUT_C);
}
}
}
*感想 [#afecbe07]
-☆線の周りをうまく動かすのが難しかった。
*光を追うロボット [#kadai4]
task main ()
{
SetSensor(SENSOR_1,SONSOR_LIGHT);
SetSensor(SENSOR_3,SONSOR_LIGHT);
while(true){
if((SENSOR_1>45)&&(SENSOR_3>45)){
OnFwd(OUT_C+OUT_A);
}
if(SENSOR_1>65){
OnFwd(OUT_A);
Off(OUT_C);
}
if(SENSOR_3>65){
OnFwd(OUT_C);
Off(OUT_A);
}
}
}
*感想 [#m7f3a381]
うまく動いてくれって良かった。
コメントどうぞ
-コメント欄をつくりました。 -- [[かとりーぬ(TA)]] &new{2005-11-25 (金) 19:11:24};
-サブルーチン、関数を使うなどしてプログラムを簡単に記述できるよう工夫しましょう。また、コメント文を入れましょう。 -- [[かとりーぬ(TA)]] &new{2005-11-25 (金) 19:13:21};
-プログラムのコメント、ロボットの説明は最低限入れましょう。 -- [[かとりーぬ(TA)]] &new{2006-02-07 (火) 12:50:33};
#comment
*ロボットの写真 [#x58e924d]