2016a/Member/rise/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*最初に組み立てたロボットでの動作 [#x2c061a5]
**組み立てる前の考察 [#i611e238]
今回、私は一つ目のルートを進ませる。一つ目のルートは交...
**プログラミング [#k20c804d]
黒の部分を進んでいく時間をタイマーで計って白に進むと戻...
**ロボット [#e8061ab9]
最初に組み立てたロボットは付属の説明書に載っているよう...
**結果 [#j4d841ee]
何度も動作とプログラミングを繰り返しても出来たかった。...
*改善したロボットでの動作 [#qb8f42a2]
**改善点1 [#e5f57670]
最も改善した点はロボット本体を組み替えたことである。セ...
#ref(2016a/Member/rise/Mission2/IMG_2051.JPG,20%,)
#ref(2016a/Member/rise/Mission2/IMG_2054.JPG,40%,)
**改善点2 [#jbbc046b]
次に改善したのは交差点を認識した後のプログラムである。...
**最終的なプログラミング [#r2222e32]
以下が最終的に出来たプログラムである。
#define Black 44 //これ以下は黒と認識
#define White 51 //これ以上は白と認識
#define turn_time 8
#define turn_right OnFwd(OUT_A); OnRev(OUT_C); Wait(turn...
#define turn_rightt OnFwd(OUT_A); Off(OUT_C); Wait(turn_...
#define turn_left OnFwd(OUT_C); OnRev(OUT_A); Wait(turn_...
#define turn_leftt OnFwd(OUT_C); Off(OUT_A); Wait(turn_t...
#define go_forward(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC...
#define STEP 1
基本的な動きを左右の旋回と曲がること、そして直進の計5つ...
sub trace_line()
{
ClearTimer(0); //0番目のタイマをリセット
while (FastTimer(0) < 42) {
if (SENSOR_2 <= Black) { //黒なら
turn_left; //左へ旋回
} else if (SENSOR_2 < Black +3) { //黒よりの灰色...
turn_leftt; //左折
} else if (SENSOR_2 > White -3) { //白よりの灰色...
turn_rightt; //右折
ClearTimer(0);
} else if (SENSOR_2 >= White) { //白なら
turn_right; //右へ旋回
ClearTimer(0);
} else { //それ以外なら
OnFwd(OUT_AC); //直進
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
PlaySound(SOUND_UP); //交差点で音が鳴る
Wait(100);
}
線の境界線上に沿って進ませて、交差点に来たら音が鳴って止...
交差点の判断方法を具体的に言うと、ロボットの左側に黒のラ...
また、黒または黒に近いグレーの判断が0.42秒続いたら交...
sub cross_straight() //左に傾いたのを戻し...
{
OnFwd(OUT_A); Off(OUT_C); Wait(30);
Wait(STEP);
}
sub cross_left() //左に傾いたのを少し右...
{
while (SENSOR_2 >= White ) {
turn_right;
Wait(STEP);
}
}
上記が交差点で止まったときに使ったサブルーチンである。
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
go_forward(200);
trace_line();
cross_straight(); //P点での交差点をま...
trace_line();
cross_straight(); //Q点での交差点をま...
trace_line();
cross_straight(); //Q点での交差点をま...
trace_line();
cross_left(); // R点での交差点を左折
trace_line();
turn_right OnFwd(OUT_A); OnRev(OUT_C); Wait(15); /...
go_forward(60); //Bの四角の中にまっ...
}
大きな改善をした後はロボットに動作をさせるのとプログラミ...
*感想 [#z37e7983]
前回の課題でうまくいくことができなかったため今回は前回以...
終了行:
#contents
*最初に組み立てたロボットでの動作 [#x2c061a5]
**組み立てる前の考察 [#i611e238]
今回、私は一つ目のルートを進ませる。一つ目のルートは交...
**プログラミング [#k20c804d]
黒の部分を進んでいく時間をタイマーで計って白に進むと戻...
**ロボット [#e8061ab9]
最初に組み立てたロボットは付属の説明書に載っているよう...
**結果 [#j4d841ee]
何度も動作とプログラミングを繰り返しても出来たかった。...
*改善したロボットでの動作 [#qb8f42a2]
**改善点1 [#e5f57670]
最も改善した点はロボット本体を組み替えたことである。セ...
#ref(2016a/Member/rise/Mission2/IMG_2051.JPG,20%,)
#ref(2016a/Member/rise/Mission2/IMG_2054.JPG,40%,)
**改善点2 [#jbbc046b]
次に改善したのは交差点を認識した後のプログラムである。...
**最終的なプログラミング [#r2222e32]
以下が最終的に出来たプログラムである。
#define Black 44 //これ以下は黒と認識
#define White 51 //これ以上は白と認識
#define turn_time 8
#define turn_right OnFwd(OUT_A); OnRev(OUT_C); Wait(turn...
#define turn_rightt OnFwd(OUT_A); Off(OUT_C); Wait(turn_...
#define turn_left OnFwd(OUT_C); OnRev(OUT_A); Wait(turn_...
#define turn_leftt OnFwd(OUT_C); Off(OUT_A); Wait(turn_t...
#define go_forward(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC...
#define STEP 1
基本的な動きを左右の旋回と曲がること、そして直進の計5つ...
sub trace_line()
{
ClearTimer(0); //0番目のタイマをリセット
while (FastTimer(0) < 42) {
if (SENSOR_2 <= Black) { //黒なら
turn_left; //左へ旋回
} else if (SENSOR_2 < Black +3) { //黒よりの灰色...
turn_leftt; //左折
} else if (SENSOR_2 > White -3) { //白よりの灰色...
turn_rightt; //右折
ClearTimer(0);
} else if (SENSOR_2 >= White) { //白なら
turn_right; //右へ旋回
ClearTimer(0);
} else { //それ以外なら
OnFwd(OUT_AC); //直進
ClearTimer(0);
}
Wait(STEP);
}
Off(OUT_AC);
PlaySound(SOUND_UP); //交差点で音が鳴る
Wait(100);
}
線の境界線上に沿って進ませて、交差点に来たら音が鳴って止...
交差点の判断方法を具体的に言うと、ロボットの左側に黒のラ...
また、黒または黒に近いグレーの判断が0.42秒続いたら交...
sub cross_straight() //左に傾いたのを戻し...
{
OnFwd(OUT_A); Off(OUT_C); Wait(30);
Wait(STEP);
}
sub cross_left() //左に傾いたのを少し右...
{
while (SENSOR_2 >= White ) {
turn_right;
Wait(STEP);
}
}
上記が交差点で止まったときに使ったサブルーチンである。
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
go_forward(200);
trace_line();
cross_straight(); //P点での交差点をま...
trace_line();
cross_straight(); //Q点での交差点をま...
trace_line();
cross_straight(); //Q点での交差点をま...
trace_line();
cross_left(); // R点での交差点を左折
trace_line();
turn_right OnFwd(OUT_A); OnRev(OUT_C); Wait(15); /...
go_forward(60); //Bの四角の中にまっ...
}
大きな改善をした後はロボットに動作をさせるのとプログラミ...
*感想 [#z37e7983]
前回の課題でうまくいくことができなかったため今回は前回以...
ページ名: