[[2011a]]

*プログラム [#j75d31c6]
 #define THRESHOLD 45
 task main()
 {
 SetSensor(SENSOR_1, SENSOR_LIGHT);
 SetSensor(SENSOR_2, SENSOR_LIGHT);
 SetSensor(SENSOR_3, SENSOR_LIGHT);
 repeat ( 3 )
  {
  OnFwd(OUT_A+OUT_C);
  until(SENSOR_2 < THRESHOLD);
  until(SENSOR_2 > THRESHOLD);
  until(SENSOR_2 < THRESHOLD);
  start follow_line; //ライントレースを始める
  Wait(150);
  stop follow_line; //ライントレースをやめる
  OnFwd(OUT_A);OnRev(OUT_C); Wait(90);
         //位置に着いたことを知らせる
         //ボールを押すまで待つ
  OnFwd(OUT_B);Wait(30);//アームを閉じる
  OnFwd(OUT_A);OnRev(OUT_C); Wait(90);
  start follow_line; //ライントレースを始める
  Wait(150);
  stop follow_line; //ライントレースをやめる
  OnFwd(OUT_C);OnRev(OUT_A); Wait(45);
  OnFwd(OUT_A+OUT_C);Wait(100);
  start boll_kick; //ゴールを探し、ボールを蹴る
  Wait(1000);
  stop boll_kick; } //10秒待ってから止める
  }
 }
 task follow_line() //ライントレースのプログラム
 {
 while(true){
  if (SENSOR_2 < THRESHOLD){OnFwd(OUT_A); Off(OUT_C);}
  else{OnFwd(OUT_C); Off(OUT_A);}
  }
 }
 task boll_kick() //ゴールを探し、ボールを蹴るプログラム
 {
   OnFwd(OUT_A);
   OnRev(OUT_C); 
   until(SENSOR_1==SENSOR_3);
   OnFwd(OUT_A+OUT_C); Wait(150);
   OnRev(OUT_B); Wait(30); //アームを開く
   OnRev(OUT_A+OUT_C); Wait(300);
   OnFwd(OUT_A);OnRev(OUT_C); Wait(90);
 }


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