- 追加された行はこの色です。
- 削除された行はこの色です。
&size(40){'''〜第2回 ロボット製作〜'''};
*◆壁に沿って走るロボット [#ef5577c3]
*◆壁に沿って走るロボット [#l1098b82]
&size(20){・プログラミィング};
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサ1がタッチセン
//サであると宣言
SetSensor(SENSOR_3,SENSOR_TOUCH); //センサ3がタッチセン
//サであると宣言
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が
//オンまで
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が
//オン
OnFwd(OUT_A+OUT_C);
until(SENSOR_1 == 0 || SENSOR_3 == 1);
Off(OUT_A+OUT_C);
}
if(SENSOR_3 == 1)//もし3がオンなら
if(SENSOR_3 == 1)
{
OnFwd(OUT_A);//右回転
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100); //1秒間の間
Wait(105);
Off(OUT_A);
OnFwd(OUT_A+OUT_C);//前進
until(SENSOR_1 == 1);//1がオンまで
OnFwd(OUT_A+OUT_C);
until(SENSOR_1 == 1);
Off(OUT_A+OUT_C);
} else { //その他のとき
OnFwd(OUT_C);//左回転
until(SENSOR_1 == 1);//1がオンまで
} else {
OnFwd(OUT_C);
until(SENSOR_1 == 1);
Off(OUT_C);
}
}
}
}
&size(20){◎工夫・苦労をした点};
1.机の壁側にちょっとした高さの違う部分があり、それをどの
ように克服するかという点。
2.机の下の角の部分で、ロボットが曲がったときに壁にセンサ
をいかにしてあてるかという点。
*◆ロボットについて... [#cdd2fcb4]
*◆ロボットについて... [#r220c8fc]
&size(20){◎構成};
1.タッチセンサを2つ使い、ロボットのフロント部分と横の面
にとりつけた。
&size(20){◎工夫・苦戦をした点};
1.机の壁側にちょっとした高さの違う部分があり、その違いに
よってタッチセンサがうまく反応するときとしないときなど
があり、それを克服するためのバンパーの高さ調整に苦戦し
た点。
2.バンパーが壁に長い間引っ掛かってしまうとバンパーが壊れ
てしまいそうになった。よって、バンパーをいかに柔軟かつ
強度大にするかという点。
**コメントをどうぞ [#jc774f76]
-プログラムと関係ありませんが、Pukiwiki で番号付きの箇条書きを作成するには、それぞれの項目の前に + をつけます (ただし行頭に)。番号なしの箇条書きは + のかわりに - で各項目を示します。とても便利なのでぜひ使ってみてください。詳しくは[[ヘルプ]]を御覧ください。 -- [[松本(教員)]] &new{2005-12-02 (金) 09:46:57};
&size(20){◎工夫・苦労をした点};
#comment