2007a/A10/課題3右

1.全方向から懐中電灯の方向を探して、懐中電灯に向けてブロックを投げるプログラム(担当:こんどー)

#define TURN_TIME 138               //一回転に要する時間(これはロボットを走らせる場所によって異なる)
sub throw()
{
OnRev(OUT_C);Wait(200);Off(OUT_C);
}
task main()
{
 SetSensor(SENSOR_1,SENSOR_LIGHT);       //センサ1を光センサと定義
 int time_peak,light_peak=0;             //光の明るさの最大値とその時の時間の変数の初期値を0にする
 ClearTimer(0);                          //タイマの値を0にする
 OnRev(OUT_A);
  while(FastTimer(0)<TURN_TIME)          //一周するまでwhileの中を繰り返す
   {
    if(SENSOR_1>light_peak)              //センサ1の値が現在の光の最大値よりも大きい場合
    {
     light_peak=SENSOR_1;                //センサ1の値をlight_peakに代入
     time_peak=FastTimer(0);             //その時の時間をtime_peakに代入
    }}
  OnRev(OUT_A);                          
  Wait(time_peak);                       //光の最大値を記憶したところまで回る
  Off(OUT_A);
  throw();                               //ブロック(ホイール)を投げる
}

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-07-05 (木) 14:38:57