*目次 [#b84f380e]
#contents
*課題の確認 [#d9ec4096]
**黒い線に沿って動くロボット [#f319c09e]
''各チームで作成したコースを1周するロボットを製作せよ。交差点以外のコース上に350mlの空の空き缶を2個以上おき、&br;空き缶にぶつかった時には次のような動作するプログラムを作成せよ。(他のメンバーと重ならないように一人一つのプログラムを作成する)''

1空き缶をコース上に戻して再びコースに戻って進む。

2空き缶を次の交差点まで運んで行き、その交差点に空き缶を残してさらにコースに沿って進む。

3奇数回目に空き缶に遭遇したら、その場で反転して進み、偶数回目に遭遇したら、空き缶を押しのけて進む。

ただし、

・速さと正確さを追求すること&br;
・コースを1周したら自動的に止まること&br;
・交差点では一時停止すること&br;
*ロボット [#tcc3cf6b]
**ロボットの全体図 [#j967bb24]
**工夫したところ [#tbfa01b3]
**苦労したところ [#vb618b56]
*コース [#x2c825c2]
*プログラム [#s5045e3d]
**としぞうのプログラム [#va95d00f]
**マキロンのプログラム [#k7ad7ef6]
#define a OnFwd(OUT_A);
#define c OnFwd(OUT_C);
#define b OnRev(OUT_A+OUT_C);
sub linetrace(){//
	if (SENSOR_1<40) {Off(OUT_A);}else{a;}
	if (SENSOR_3<40) {Off(OUT_C);}else{c;}
	if ((SENSOR_1<40)&&(SENSOR_3<40)){a;c;}
	Wait(10);
}
task main (){
	SetSensor(SENSOR_1,SENSOR_LIGHT);
	SetSensor(SENSOR_2,SENSOR_TOUCH);
	SetSensor(SENSOR_3,SENSOR_LIGHT);
	ClearTimer(0);
repeat(6) {
	while ((SENSOR_1>40)||(SENSOR_2==0)||(SENSOR_3>40)){
	linetrace();
	}
	while ((SENSOR_1>40)||(SENSOR_3>40)){
	linetrace();
	}
	Wait(160);b;a;Wait(200);b;c;Wait(200);b;Wait(20);a;c;
}
	Off(OUT_A+OUT_C);
}


*まとめ・反省 [#i025f22c]
**としぞう [#k7c9b373]
**マキロン [#aae9c931]
*コメント [#y69f2e2e]
コメントをどうぞ!
#comment


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