学習ノート Hypodytes rubripinnis

課題3:光を追いかけるプログラム課題4右

アクセス数:今日1 総数&counter([total|today|yesterday]);   最終更新日:2006-02-02 (木) 17:46:46

光を追いかけるプログラム『センサー2個ver.』                  movie

作成者:Hypodytes rubripinnis
#define go_straight OnFwd(OUT_A+OUT_C);        //直進 
#define turn_right OnFwd(OUT_A);OnRev(OUT_C);  //右旋回
#define turn_left OnFwd(OUT_C);OnRev(OUT_A);   //左旋回
#define minous 35                              //minousを定義

int max;   //maxを定義
int time;  //timeを定義

task main()
{
    SetSensor(SENSOR_1,SENSOR_LIGHT);      //センサー1:光センサー
    SetSensor(SENSOR_3,SENSOR_LIGHT);      //センサー3:光センサー

    max=SENSOR_1;                          //センサー1をmaxに指定
    time=Timer(0);                         //タイマー0をtimeに指定
    ClearTimer(0);                         //タイマー0をリセット
    while(Timer(0)<=14)                    //タイマー0が14以下なら
    {
        turn_right                         //右旋回
        if(SENSOR_1>max)                   //センサー0が最大値なら
          {
           ClearTimer(1);                  //タイマー1をリセット
           max=SENSOR_1;                   //センサー1をmaxに指定
          }
        else                               //そうでないなら
          {
           max=max;                        //maxはそのまま
           time=Timer(1);                  //timeをタイマー1に指定
          }
   }

   ClearTimer(1);                          //タイマー1をリセット
   while(Timer(1)<=time)                   //タイマー1がtime以下なら
   {turn_left}                             //左旋回

   while(true)
   {
        if((SENSOR_1>=max-minous)==(SENSOR_3>=max-minous))  //センサー1,3の値が最大値の付近で、ほぼ同値なら
          {go_straight}                    //直進
        if(SENSOR_1<(max-minous))          //センサー1の値が最大値-minous未満なら
          {
           turn_right                      // 右旋回             
           until(SENSOR_1>=(max-minous));  //センサー1の値が最大値-minous以上まで
          }
        if(SENSOR_3<(max-minous))          //センサー3の値が最大値-minous未満なら
          {
           turn_left                       //左旋回
           until(SENSOR_3>=(max-minous));  //センサー3の値が最大値-minous以上まで
          }
   }
}

仕組み&工夫したところ

movie

robo6.JPG robo6-2.JPG



添付ファイル: filerobo6.wmv 110件 [詳細] filerobo6-2.JPG 128件 [詳細] filerobo6.JPG 144件 [詳細]

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