*ライントレーサー [#s0ab6500]
*課題2.1当たって反転 [#q1305cc6]
**プログラム ( 制作者  Fuji )[#gdf2f47c]

#define mae OnFwd(OUT_A+OUT_B);
#define right Off(OUT_A+OUT_B);OnFwd(OUT_A);
#define left Off(OUT_A+OUT_B);OnFwd(OUT_B);
 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); }
     
     } }
                                                          

task main ()
{
	SetSensor(SENSOR_1, SENSOR_LIGHT);
	SetSensor(SENSOR_3, SENSOR_LIGHT);
	mae;
	while(true) 
	{
		if(SENSOR_1 < 40){left;}	 
		if(SENSOR_3 < 40){right;}
		else{mae;}	 
	}
}
**製作に苦労した点 [#ef550b42]
ライントレースって結構難しいんですよ。
コースは7の形をしていたのですが、急なカーブが多すぎて曲がりきれないことが判明。
**工夫した点 [#n57f9031]

*課題2.2追い越す [#n560dc94]
**プログラム( 制作者 Fuji ) [#md7bed28]

 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);}     }  }  }

**製作に苦労した点 [#y88f2f52]
**工夫した点 [#u1ff6e65]
**☆感想・反省点☆ [#m37f77bd]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS