[[2005/MemberOnly/進行状況B]]

*壁をつたうロボ [#ic402443]

  最初は、どうプログラミングすれば良いか全く見当も着きませんでした。そこで、2つのタッチセンサーが反応した時、右だけが反応している時、両方のセンサーが反応していないときで場合分けして、それぞれの場合でプログラムを作りました。しかし、そのプログラムをつなげることが出来ず、途方に暮れました(>_<)
かなりの試行錯誤の結果、下のプログラムにたどり着きました。
  また、右のセンサーだけを反応させながらうまく壁をつたうよう、右側にタイヤを着けた。以下はそのプログラムです


***task main () [#y1c23347]
{
    SetSensor(SENSOR_3,SENSOR_TOUCH);
    SetSensor(SENSOR_1,SENSOR_TOUCH);    
    
    OnFwd(OUT_A+OUT_C);
    
    while(true)
  {
     if((SENSOR_1 ==1)&&(SENSOR_3 == 1))
    {
    OnRev(OUT_A+OUT_C);  Wait(40);
    OnFwd(OUT_C);       Wait(130);
    OnFwd(OUT_A);
    }
    else{if(SENSOR_3 == 0)
    {  
       Off(OUT_C);
       OnFwd(OUT_A);
       until(SENSOR_3 == 1);
       OnFwd(OUT_A+OUT_C);
    }  } }
  }


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