2015a/Member/sagasa/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2015a/MemberOnly]]
#contents
*課題の説明 [#k72c4f79]
半径1m以内にある懐中電灯を探して、懐中電灯にピンポン玉を...
ロボット本体が懐中電灯に接触しない限りどこからピンポン玉...
*ロボットの説明 [#p0ea36fd]
**全体図 [#lfd2b694]
#ref(./honntai2.png)
課題2のロボット本体の光センサーの位置を変えただけの機体...
ロボット本体については、
[[2015a/Member/sagasa/Mission2]]
を参照。
**光センサー [#s750e3ed]
#ref(./sensor2.png)
前方に良く反応する位置に配置した。
*プログラムの説明 [#q7db1520]
**定義 [#y6190d6d]
#define straight OnFwd(OUT_AC); //直進のプログラム
#define back OnRev(OUT_AC); //後退のプログラム
#define kaiten_r OnFwd(OUT_A); OnRev(OUT_C); //右旋回す...
#define kaiten_l OnRev(OUT_A); OnFwd(OUT_C); //左旋回...
#define STOP Off(OUT_AC); Wait(20); //停止するプログラム
#define shoot back; Wait(50); straight; Wait(80); //ボ...
#define spin_time 345 //旋回する時間
**メインタスク [#d67c1f71]
task main()
{ int max = 0; //光センサーがkaiten_r中に検知する光の...
int time = 0; //光センサーが最大値を更新したさいのタ...
SetSensor(SENSOR_1,SENSOR_LIGHT); //光センサーをセン...
ClearTimer(0); //タイマー0をセットする。
while(FastTimer(0) <spin_time)
{ kaiten_r;
if(SENSOR_1 > max) {
max = SENSOR_1;
time = FastTimer(0);
} //spin_timeの値になるまで右旋回を行...
}
STOP; //停止//
int time2 = 345-time; //右旋回した時間からtimeの値を...
kaiten_l; Wait(time2); //time2の値まで左旋回する。//
STOP; //停止//
OnFwd(OUT_B); Wait(6); //アームを開く
shoot; //シュートする。//
STOP; //停止//
}
まず1回転して、懐中電灯の位置を光センサーが示す明るさの...
逆回転でその位置に来たら停止して、ボールをシュートする。
*反省点 [#ad26600c]
ロボコンなどがあったので、実際にロボットを動かしてするこ...
終了行:
[[2015a/MemberOnly]]
#contents
*課題の説明 [#k72c4f79]
半径1m以内にある懐中電灯を探して、懐中電灯にピンポン玉を...
ロボット本体が懐中電灯に接触しない限りどこからピンポン玉...
*ロボットの説明 [#p0ea36fd]
**全体図 [#lfd2b694]
#ref(./honntai2.png)
課題2のロボット本体の光センサーの位置を変えただけの機体...
ロボット本体については、
[[2015a/Member/sagasa/Mission2]]
を参照。
**光センサー [#s750e3ed]
#ref(./sensor2.png)
前方に良く反応する位置に配置した。
*プログラムの説明 [#q7db1520]
**定義 [#y6190d6d]
#define straight OnFwd(OUT_AC); //直進のプログラム
#define back OnRev(OUT_AC); //後退のプログラム
#define kaiten_r OnFwd(OUT_A); OnRev(OUT_C); //右旋回す...
#define kaiten_l OnRev(OUT_A); OnFwd(OUT_C); //左旋回...
#define STOP Off(OUT_AC); Wait(20); //停止するプログラム
#define shoot back; Wait(50); straight; Wait(80); //ボ...
#define spin_time 345 //旋回する時間
**メインタスク [#d67c1f71]
task main()
{ int max = 0; //光センサーがkaiten_r中に検知する光の...
int time = 0; //光センサーが最大値を更新したさいのタ...
SetSensor(SENSOR_1,SENSOR_LIGHT); //光センサーをセン...
ClearTimer(0); //タイマー0をセットする。
while(FastTimer(0) <spin_time)
{ kaiten_r;
if(SENSOR_1 > max) {
max = SENSOR_1;
time = FastTimer(0);
} //spin_timeの値になるまで右旋回を行...
}
STOP; //停止//
int time2 = 345-time; //右旋回した時間からtimeの値を...
kaiten_l; Wait(time2); //time2の値まで左旋回する。//
STOP; //停止//
OnFwd(OUT_B); Wait(6); //アームを開く
shoot; //シュートする。//
STOP; //停止//
}
まず1回転して、懐中電灯の位置を光センサーが示す明るさの...
逆回転でその位置に来たら停止して、ボールをシュートする。
*反省点 [#ad26600c]
ロボコンなどがあったので、実際にロボットを動かしてするこ...
ページ名: