2005/MemberOnly/進行状況B

壁をつたうロボ

壁をつたうロボ

最初は、どうプログラミングすれば良いか全く見当も着きませんでした。そこで、 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右)


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-02-09 (木) 10:08:53