戻る

一番明るい方向を向くプログラム

タイマーを使ったプログラム

// 製作日:12月2日
// 製作者:AI

int LIGHT_=0;   //一番明るいところの値を入れる
int TIME_LIGHT=0;//一番明るいところまで回るまでの時間
int RUN_TIME=450;//一回転する時間

task main(){

	SetSensor(SENSOR_1, SENSOR_LIGHT);
	ClearTimer(0);
	
	while (FastTimer(0) <= RUN_TIME) { //一回転するまで繰り返す
		if ( SENSOR_1 > LIGHT_ ) { //もし今まで記録した値より明るかったら
			LIGHT_ = SENSOR_1 ; //関数にその明るさを記録
			TIME_LIGHT = FastTimer(0); //関数にそのときまでの時間を記録
 		}
		OnFwd(OUT_A);
		OnRev(OUT_C);
	}
	ClearTimer(0);
	while (FastTimer(0) <= TIME_LIGHT) {// 一番明るかった場所まで回る
		OnFwd(OUT_A);
		OnRev(OUT_C);
	}
        Off(OUT_A + OUT_C);
 }

repeatを使ったプログラム

//製作日 12月9日
//製作者 AI

int LIGHT_MAX=0;	//一番明るいところの値を入れる
int TIME_LIGHT=0;//一番明るいところまで回るまで
int RUN_TIME;//一回転する時間
int cnt=0;//カウンター

task main(){

	SetSensor(SENSOR_2, SENSOR_LIGHT);
	ClearTimer(0);
	
	OnFwd(OUT_A);
	OnRev(OUT_C);
	
	repeat(50){
		if(SENSOR_2 > LIGHT_MAX){
			LIGHT_MAX = SENSOR_2;//一番明るいところの値が入る
			TIME_LIGHT = cnt;//一番明るいところまでかかった時間が入る	
		}
	cnt++;
	Wait(5);
	}
	OnFwd(OUT_C);
	OnRev(OUT_A);
	RUN_TIME = 250-(TIME_LIGHT-1)*5;//逆回転する時間
	Wait(RUN_TIME);
	Off(OUT_A+OUT_C);
	
}


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-12-16 (金) 14:53:14