- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/MemberOnly/進行状況B]]
*壁をつたうロボ [#ic402443]
壁をつたうロボ
最初は、どうプログラミングすれば良いか全く見当も着きませんでした。そこで、
2つのタッチセンサーが反応した時、右だけが反応している時、両方のセンサーが反応していないときで場合分けして、
それぞれの場合でプログラムを作りました。しかし、そのプログラムをつなげることが出来ず、途方に暮れました(>_<)
かなりの試行錯誤の結果、下のプログラムにたどり着きました。
また、右のセンサーを反応させながらうまく壁をつたうよう、右側にタイヤを着けました。以下はそのプログラムです
***task main () [#y1c23347]
{
SetSensor(SENSOR_3,SENSOR_TOUCH); //センサー1、3をタッチ
センサーと定義
SetSensor(SENSOR_1,SENSOR_TOUCH);
OnFwd(OUT_A+OUT_C); //前進(センサー3が触れ
ているときは前進)
while(true)
{
if((SENSOR_1 ==1)&&(SENSOR_3 == 1)) //もしセンサー1、3が反
応したら
{
OnRev(OUT_A+OUT_C); Wait(40); //バック
OnFwd(OUT_C); Wait(130);
OnFwd(OUT_A); //左90°回転
}
else{if(SENSOR_3 == 0) //センサー3が反応して
いないとき
{
Off(OUT_C); //センサー3が反応する
OnFwd(OUT_A); まで右に回転
until(SENSOR_3 == 1);
OnFwd(OUT_A+OUT_C); //センサー3が反応した
ら直進
} } }
} (作成者:B3右)
-ロボットの説明をもう少し書き加えて、プログラムがどのように動作しているか説明して下さい。あとページの体裁もきちんと整えて下さい。 -- [[まいける(TA)]] &new{2005-12-02 (金) 16:52:47};
-見ました。プログラムも見やすくなっていると思います。ロボットの工夫した点も書くと良いかもしれませんね。 -- [[ゆん(TA)]] &new{2006-01-06 (金) 16:40:19};
-ロボット&プログラムの作成者を明記してください。 -- [[松本(教員)]] &new{2006-02-09 (木) 10:08:53};
#comment