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


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS