課題2.1当たって反転

プログラム ( 制作者 Fuji )

task main()
{
   SetSensor(SENSOR_1,SENSOR_TOUCH);         //センサー1はタッチセンサーであると宣言
   SetSensor(SENSOR_2,SENSOR_LIGHT);     //センサー2・3は光センサーであると宣言
   SetSensor(SENSOR_3,SENSOR_LIGHT);
   
   while(true)
 {
      OnFwd(OUT_A+OUT_C);
      
      if(SENSOR_1==1)              //何かに当ったら・・・
   {   
      OnRev(OUT_A+OUT_C);  Wait(50);         //0.5秒間後退
      OnFwd(OUT_A);  Wait(150);       //180度回転する
      OnFwd(OUT_C);               
                                                            }
      
      if(SENSOR_2<40)            //ライントレース部分
    { OnFwd(OUT_C);Off(OUT_A);}
      else{OnFwd(OUT_A+OUT_C);}
    
      if(SENSOR_3<40)
    {  OnFwd(OUT_C);Off(OUT_A);}
    else{OnFwd(OUT_A+OUT_C); }
    
    } }
                                                         

製作に苦労した点

ライントレースって結構難しいんですよ。 コースは7の形をしていたのですが、急なカーブが多すぎて曲がりきれないことが判明。

工夫した点

課題2.2追い越す

プログラム( 制作者 Fuji )

task main()
{
  SetSensor(SENSOR_1,SENSOR_TOUCH);    //同じようにセンサーを定義
  SetSensor(SENSOR_2,SENSOR_LIGHT);
  SetSensor(SENSOR_3,SENSOR_LIGHT);
  
  
  
  while(true){
  OnFwd(OUT_A+OUT_C);
  
  if(SENSOR_1==1){               //何かに当ったら・・・
     OnRev(OUT_A+OUT_C);Wait(100);
     OnFwd(OUT_A);Wait(70);           //右を向く
     OnFwd(OUT_A+OUT_C);Wait(100);Off(OUT_A);
     OnFwd(OUT_C);Wait(70);
     OnFwd(OUT_A+OUT_C);Wait(300);Off(OUT_A);    //コースをはずれて、前を追い越す
     OnFwd(OUT_C);Wait(70);
     OnFwd(OUT_A+OUT_C);Wait(100);Off(OUT_C);
     OnFwd(OUT_A);Wait(70);              }
     
     else{                    //ライントレース部
       if(SENSOR_2<40)
       {OnFwd(OUT_C);Off(OUT_A);}
       if(SENSOR_3<40)
       {OnFwd(OUT_A);Off(OUT_C);}     }  }  }

製作に苦労した点

工夫した点

☆感想・反省点☆


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