[[2005/B1/かずひろの学習ノート]]
一部、修正版でないのものでないものがあり、それは正常に作動しません。課題のほうの方が信用度が高いです。
- 一部、修正版でないのものでないものがあり、それは正常に作動しません。課題で載せたもののほうの方が信用度が高いです。
*センサー二個で、モーター2個の改良版 [#p5f5cfcc]
 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 [#vda3f7aa]
 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モータ [#o6809fe2]

 
 #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センサー 、ライントレース [#u5226055]
 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個 [#y2fa2f5d]
 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センサーで、光を追跡するだけのプログラム [#x359c3cf]
 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);}
    }
 }
光を探すことはできないが、追跡はなんとかできるという微妙さがあるプログラム。[[かずひろ>2005/B1/かずひろの学習ノート]]
*どうでもいいプログラム [#t32e9f0a]
 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);
 }
以上がかずひろ製作のプログラムの一部です。
#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS