2005/B1/かずひろの学習ノート

  • 一部、修正版でないのものでないものがあり、それは正常に作動しません。課題で載せたもののほうの方が信用度が高いです。

センサー二個で、モーター2個の改良版

task main ()
{SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor (SENSOR_3, SENSOR_LIGHT);
while(true){
if(SENSOR_1 >40 && SENSOR_3<40)
{Off(OUT_A+OUT_C);
OnFwd(OUT_C);
 Off(OUT_A);
 }
 if (SENSOR_3 >40 && SENSOR_1<40)
 {Off(OUT_A+OUT_C);
 OnFwd(OUT_A);
 Off(OUT_C);
 }
 if(SENSOR_1<40 && SENSOR_3<40)
 {Off(OUT_A+OUT_C);
 OnFwd(OUT_A);
 OnRev(OUT_C);
 }
 if(SENSOR_1>40 && SENSOR_3>40)
 {Off(OUT_A+OUT_C);
 OnFwd(OUT_A+OUT_C);
 }
}
}

課題2

task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_TOUCH);
while(true){
  if(SENSOR_1 == 1){              //せんさ1が触れたら
    OnRev(OUT_A+OUT_C);Wait(100);  //1秒後退
    OnFwd(OUT_C);Wait(100);//左曲がる
  }if(SENSOR_3 == 1){             //せんさ3が触れていれば
    OnFwd(OUT_A+OUT_C); //ただ前進
  }else{                          //それ以外の時
    OnFwd(OUT_A);
    Off(OUT_C);  // 右に曲がる
  }                               
}
}

黒線 2せんさー 2モータ

#define TH 45              // 明暗之定義
task main ()
{
  SetSensor(SENSOR_1, SENSOR_LIGHT);
  SetSensor(SENSOR_3, SENSOR_LIGHT);
 while(true)
{
      if (SENSOR_1 < TH) {   //せんさ1が 黒線上にいるとき
          OnFwd(OUT_C);
          Off(OUT_A);
           }
      if (SENSOR_3 < TH) {   // せんさ2が黒線上にいるとき
          OnFwd(OUT_A);
          Off(OUT_C); 
          } else {                      // 黒線から外れたとき
          OnFwd(OUT_A);
          OnFwd(OUT_C);
           }
  }}

1モーターバージョン 2センサー 、ライントレース

task main()
{
  SetSensor(SENSOR_1,SENSOR_LIGHT);
  SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
  if ((SENSOR_1 > 40) && (SENSOR_3 < 40))//右のセンサが黒線上
      {
          OnRev(OUT_A); // 左折
          
      }
  if ((SENSOR_1 < 40) && (SENSOR_3 > 40))//左のセンサが黒線上
      {
          OnFwd(OUT_B);// 右折
          }else{Off(OUT_A)
      }
 
}
 
}

簡単な光を追跡する プログラム モーター2個、センサー1個

task main ()
{
   SetSensor(SENSOR_1, SENSOR_LIGHT);//光センサー1を置く
 while (true){
       if (SENSOR_1 >50)//値が50以上になったとき 
{          OnFwd(OUT_A+OUT_C);//前進
        } else {OnFwd(OUT_A);
        OnRev(OUT_C);//右に回転して光を探す
        
   }
   }
} 

2センサーで、光を追跡するだけのプログラム

task main ()
{
   SetSensor(SENSOR_1, SENSOR_LIGHT);
   SetSensor(SENSOR_3, SENSOR_LIGHT);
   while (true){
     if (SENSOR_1 > 50)//センサー1に光反応あり
     {
       OnFwd(OUT_C);//左折
       Off(OUT_A);
     }
     if (SENSOR_3 > 50)//センサー3に光反応あり
     {
       OnFwd(OUT_A);//右折
       Off(OUT_C);
     }
  else//反応なし 
     {
       Off(OUT_A+OUT_C);}
   }
}

光を探すことはできないが、追跡はなんとかできるという微妙さがあるプログラム。かずひろ

どうでもいいプログラム

task main()
{
OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);
OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);
OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);
OnFwd(OUT_A+OUT_C);
Wait(200);
PlaySound(SOUND_UP) ;           // ピロピロ〜と高く音
PlaySound(SOUND_LOW_BEEP) ;     // ブーという低い音
PlaySound(SOUND_FAST_UP) ;      // ピロピロ〜と速く高くなる音
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);OnFwd(OUT_A+OUT_C);
Wait(200);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(100);
Off(OUT_A+OUT_C);
}

以上がかずひろ製作のプログラムの一部です。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-01-07 (土) 19:10:07 (4970d)