[[2007a/A10/課題3右]]

**1.全方向から懐中電灯の方向を探して、懐中電灯に向けてブロックを投げるプログラム(こんどー) [#f93de149]
 #define TURN_TIME 215               //一回転に要する時間(これはロボットを走らせる場所によって異なる)

 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