2005/B4

課題4(光の方について行くプログラム(試作))

//課題4(光の方について行くプログラム(試作))
//
//
#define THRESHOLD 40 
task main(){
	int max_right,time_max;
	SetSensor(SENSOR_1,SENSOR_LIGHT);
	SetSensor(SENSOR_3,SENSOR_LIGHT);
	while(true){
	if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){
		OnFwd(OUT_C);
}
	if(SENSOR_1<THRESHOLD&&SENSOR_3>THRESHOLD){
		OnFwd(OUT_A);
}
	if(SENSOR_1<THRESHOLD&&SENSOR_3<THRESHOLD){
		OnFwd(OUT_A);
}
	if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){
		OnFwd(OUT_A+OUT_C);
	}
}

課題4(光の方について行くプログラム(改良))

//right_trace
// 作成者 やらー&すなお&satoshi
//
#define THRESHOLD 40 
task main(){
	SetSensor(SENSOR_1,SENSOR_LIGHT);
	SetSensor(SENSOR_3,SENSOR_LIGHT);
	while(true){
	if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){//左のセンサーのみ感知         
               OnFwd(OUT_C);//左回転
		OnRev(OUT_A);
	        Wait(10);
}
	if(SENSOR_1<THRESHOLD&&SENSOR_3>THRESHOLD){//右のセンサーのみ感知		
               OnFwd(OUT_A);//右回転
		OnRev(OUT_C);
		Wait(10);
}
	if(SENSOR_1<THRESHOLD&&SENSOR_3<THRESHOLD){//両方感知してなかったら     
             while(SENSOR_1<THRESHOLD||SENSOR_3<THRESHOLD){//どちらかが反応するまで
             OnFwd(OUT_C);//左回転
             OnRev(OUT_A);
		Wait(10);
		until(SENSOR_1>THRESHOLD||SENSOR_3>THRESHOLD);//もしかしたらいらないかも…
		}
}
	if(SENSOR_1>THRESHOLD&&SENSOR_3>THRESHOLD){//両方感知していたら
		OnFwd(OUT_A+OUT_C);//前進
	}
}
}
ライトトレース1
ライトトレース2


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