2015a/Member/tsuyoshi/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*今回の課題 [#ta8d70dc]
ロボットを旋回させて半径1m以内にある懐中電灯を探して、懐...
*ロボットの説明 [#m3062697]
今回使ったロボットのほとんどの構造は課題2のロボットと同...
http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMember%2...
また、変更した点はセンサーを本体に前向きに取り付けたこと...
&ref(1437988994999.jpg,,25%);
&ref(1437988996282.jpg,,25%);
&ref(1437988997602.jpg,,25%);
(写真は右から今回使ったロボットの全体の写真、センサーの周...
*プログラムの説明 [#a4149396]
#define short_break Off(OUT_AC);Wait(100);
#define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0); //0番目のタイマーをリセット
ClearTimer(1); //1番目のタイマーをリセット
int light_max; //整数型の変数を宣言
light_max = 0; //仮の最大値
int time_max; //整数型の変数を宣言
time_max = 0; //仮の最大値を与える時間
int run_time; //整数型の変数を宣言
run_time = 280; //1周するのにかかる時間
OnFwd(OUT_A);OnRev(OUT_C); //反時計回りに回転
while(FastTimer(0)<run_time) //1回転するまで
{
if(SENSOR_2>light_max) //light_maxの値を超えたら
{
light_max = SENSOR_2; //light_maxを塗り替える
ClearTimer(1);
}
}
time_max = FastTimer(1);
short_break; //1周したら1秒待機
OnRev(OUT_A);OnFwd(OUT_C);
Wait(time_max); //懐中電灯の方向を向く
short_break;
OnFwd(OUT_AC);Wait(50);clip_on;Wait(10); //シュート
Off(OUT_AC);
}
**定義した関数 [#jda6647a]
#define short_break Off(OUT_AC);Wait(100);
#define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
[解説]
モーターACを1秒間停止させる
シュート
**定義づけ [#yf00486e]
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0); //0番目のタイマーをリセット ?
ClearTimer(1); //1番目のタイマーをリセット ?
int light_max; //整数型の変数を宣言
light_max = 0; //仮の最大値
int time_max; //整数型の変数を宣言
time_max = 0; //仮の最大値から停止までの時間
int run_time; //整数型の変数を宣言
run_time = 280; //1周するのにかかる時間
[解説]
?旋回を始めてから280秒経つまでの時間を計る。
?最大値を見つけてから停止するまでの時間を計る。
**動作 [#b125a898]
OnFwd(OUT_A);OnRev(OUT_C); //反時計回りに回転
while(FastTimer(0)<run_time) //1回転するまで ...
{
if(SENSOR_2>light_max) //light_maxの値を超えたら
{
light_max = SENSOR_2; //light_maxを塗り替える ?
ClearTimer(1);
}
}
time_max = FastTimer(1);
short_break; //1周したら1秒待機
OnRev(OUT_A);OnFwd(OUT_C); //時計回りに旋回
Wait(time_max); //懐中電灯の方向を向く ?
short_break;
OnFwd(OUT_AC);Wait(50);clip_on;Wait(10); //シュート ?
Off(OUT_AC);
}
[解説]
?360°反時計回りに旋回して全方位の値を記億する。
?light_maxよりも大きな値を見つけたらその値を最大値として...
?time_maxの時間だけ時計回りに旋回する。
?シュートする。
*実際の動画 [#dff3a0d7]
*感想 [#qbcdefe7]
今回は前回のロボットを使いまわせる、課題がそもそも重くな...
終了行:
#contents
*今回の課題 [#ta8d70dc]
ロボットを旋回させて半径1m以内にある懐中電灯を探して、懐...
*ロボットの説明 [#m3062697]
今回使ったロボットのほとんどの構造は課題2のロボットと同...
http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMember%2...
また、変更した点はセンサーを本体に前向きに取り付けたこと...
&ref(1437988994999.jpg,,25%);
&ref(1437988996282.jpg,,25%);
&ref(1437988997602.jpg,,25%);
(写真は右から今回使ったロボットの全体の写真、センサーの周...
*プログラムの説明 [#a4149396]
#define short_break Off(OUT_AC);Wait(100);
#define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0); //0番目のタイマーをリセット
ClearTimer(1); //1番目のタイマーをリセット
int light_max; //整数型の変数を宣言
light_max = 0; //仮の最大値
int time_max; //整数型の変数を宣言
time_max = 0; //仮の最大値を与える時間
int run_time; //整数型の変数を宣言
run_time = 280; //1周するのにかかる時間
OnFwd(OUT_A);OnRev(OUT_C); //反時計回りに回転
while(FastTimer(0)<run_time) //1回転するまで
{
if(SENSOR_2>light_max) //light_maxの値を超えたら
{
light_max = SENSOR_2; //light_maxを塗り替える
ClearTimer(1);
}
}
time_max = FastTimer(1);
short_break; //1周したら1秒待機
OnRev(OUT_A);OnFwd(OUT_C);
Wait(time_max); //懐中電灯の方向を向く
short_break;
OnFwd(OUT_AC);Wait(50);clip_on;Wait(10); //シュート
Off(OUT_AC);
}
**定義した関数 [#jda6647a]
#define short_break Off(OUT_AC);Wait(100);
#define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
[解説]
モーターACを1秒間停止させる
シュート
**定義づけ [#yf00486e]
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0); //0番目のタイマーをリセット ?
ClearTimer(1); //1番目のタイマーをリセット ?
int light_max; //整数型の変数を宣言
light_max = 0; //仮の最大値
int time_max; //整数型の変数を宣言
time_max = 0; //仮の最大値から停止までの時間
int run_time; //整数型の変数を宣言
run_time = 280; //1周するのにかかる時間
[解説]
?旋回を始めてから280秒経つまでの時間を計る。
?最大値を見つけてから停止するまでの時間を計る。
**動作 [#b125a898]
OnFwd(OUT_A);OnRev(OUT_C); //反時計回りに回転
while(FastTimer(0)<run_time) //1回転するまで ...
{
if(SENSOR_2>light_max) //light_maxの値を超えたら
{
light_max = SENSOR_2; //light_maxを塗り替える ?
ClearTimer(1);
}
}
time_max = FastTimer(1);
short_break; //1周したら1秒待機
OnRev(OUT_A);OnFwd(OUT_C); //時計回りに旋回
Wait(time_max); //懐中電灯の方向を向く ?
short_break;
OnFwd(OUT_AC);Wait(50);clip_on;Wait(10); //シュート ?
Off(OUT_AC);
}
[解説]
?360°反時計回りに旋回して全方位の値を記億する。
?light_maxよりも大きな値を見つけたらその値を最大値として...
?time_maxの時間だけ時計回りに旋回する。
?シュートする。
*実際の動画 [#dff3a0d7]
*感想 [#qbcdefe7]
今回は前回のロボットを使いまわせる、課題がそもそも重くな...
ページ名: