[[2015a/Member]]

*課題3 [#i323c57c]

**ハードウェア [#j85cbe50]
 基本的な仕様は課題2から変わっていない。光の感知にひつよなセンサーをライントレース用にボトムにつけていたものを前向きに取り付けた。

**ソフトウェア [#sf3cfac1]
 task main(){
 
 	SetSensor(SENSOR_2,SENSOR_LIGHT);
 
 	int t = 0;
 
 	int T = 0;
 
 	int MAX = 0;
 
 	int i = 0;
 
 	while(1){
 
 		t = FastTimer(0);
 
 		if(t < 150){
 
 			OnFwd(OUT_A);
 
 			OnRev(OUT_C);
 
 			if(SENSOR_2 > MAX){
 
 				MAX = SENSOR_2;
 
 				T = FastTimer(0);
 
 			}
 
 		}else{
 
 			if(i == 2){
 
 				PlaySound(SOUND_UP);
 
 				Off(OUT_AC);
 
 				Wait(20);			
 
 				OnFwd(OUT_C);
 
 				OnRev(OUT_A);
 
 				Wait(150 - T);
 
 				Off(OUT_AC);
 
 				OnFwd(OUT_B);
 
 				Wait(100);
 
 				OnRev(OUT_AC);
 
 				Off(OUT_B);
 
 				Wait(50);
 
 				Off(OUT_ABC);
 
 				Wait(9999);
 
 			}else{				
 
 				PlaySound(SOUND_UP);
 
 				Off(OUT_AC);
 
 				Wait(20);			
 
 				OnFwd(OUT_C);
 
 				OnRev(OUT_A);
 
 				Wait(150 - T);
 
 				OnRev(OUT_AC);
 
 				Wait(100);
 
 				Off(OUT_AC);
 
 				Wait(20);
 
 				ClearTimer(0);
 
 				t = 0;
 
 				T = 0;
 
 				MAX = 0;
 
 				i++;
 
 			}
 
 		}
  
  	}
  
 } 
**ソフトウェアの解説 [#wbb71ecf]
まず機体を一回転させ、その間光センサーの値が大きくなったタイミングというものをタイマーによって目的の位置を検出をさせ、そこから適正な秒数だけ逆回転させ前進、ある程度進んだところでもう一度同じことをやることにより、精度を高めた。
最終的に一番近づいたところでアームを上げ斜体を前進させることでボールを射出させる

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