2005/C3/しかた

モーター1つのライントレースロボットです。

#define A 40				//明るさの基準
#define B 40				//走る時間の基準
#define C 10				//トレース時間の基準1
#define D 10				//トレース時間の基準2

void run()					//走る関数
{
	OnFwd(OUT_A);
	Wait(B);
	OnRev(OUT_A);
	Wait(B);
}
void trace(int x)			//トレース関数
{
	repeat(D){
		OnFwd(OUT_A);
		Wait(C);
		if(x < A)	return;
	}
	repeat(D*2){
		OnRev(OUT_A);
		Wait(C);
		if(x < A)	return;
	}
}
task main()
{
	SetSensor(SENSOR_1,SENSOR_LIGHT);
	
	while(true)					//無限ループ
	{
		if(SENSOR_1 < A)			//線の上なら
		{
			run();
		}
		else						//線の上でないなら
		{
			trace(SENSOR_1);		
		}
	}
	Off(OUT_A+OUT_C);				//意味なし
}	
lego.jpg

感想

ロボット苦労しました…

添付ファイル: filelego.jpg 238件 [詳細]

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