2014b/Member/yuka/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題の内容 [#ueb9e0ee]
模造紙に書いた黒線を追ってロボットを走らせるライントレー...
私は交差点を、直進→左折→直進→右折→右折の順に通過してゴー...
*ロボットの説明 [#ze5c47c7]
ロボットの前に光センサーを付けてこのセンサーで黒い部分と...
#ref(ライントレース1.jpg)
#ref(ライントレース4.jpg)
*プログラム [#z3b649b9]
#define THRESHOLD 45
#define SPEED_H 50
#define SPEED_L 25
#define OnRL(speedR,speedL) OnFwd(OUT_B,speedR);OnFwd(OU...
#define go_straight OnRL(SPEED_H,SPEED_H);
#define turn_left1 OnRL(SPEED_L,-SPEED_L);//左旋回
#define turn_left0 OnRL(SPEED_L,0);//左折
#define turn_right1 OnRL(-SPEED_L,SPEED_L);//右旋回
#define turn_right0 OnRL(0,SPEED_L);//右折
#define CROSS_TIME 200
#define short_break Off(OUT_BC);Wait(1000);
#define nMAX 240
#define STEP 1
#define prepare short_break;turn_right1;Wait(200*STEP);
#define cross_line OnRL(SPEED_L,SPEED_L);Wait(CROSS_TIME...
#define turn_left Off(OUT_BC);OnRL(SPEED_L,0);Wait(600);...
#define turn_right Off(OUT_BC);OnRL(0,SPEED_L);Wait(500)...
はじめによく使う動きを定義しました。
task main()
{
SetSensorLight(S1);
int nOnline=0;//続けて黒になった回数
int nCross=1;//交差点の数
カウンターを使って、センサーが連続して黒を認識した数を数...
while(true){
while(nOnline<nMAX){
if(SENSOR_1<THRESHOLD-15){turn_left1; nOnline++;}
else{
if(SENSOR_1<THRESHOLD-7){turn_left0;}
else if(SENSOR_1<THRESHOLD+7){go_straight;}
else if(SENSOR_1<THRESHOLD+15){turn_right0;}
else{turn_right1;}
nOnline=0;
}
Wait(STEP);
}
これはライントレースのプログラムです。
センサーで明るさを測定した結果、黒が約40、白が約60という...
if(nCross==1){PlaySound(SOUND_UP);prepare;cross_line;nO...
else if(nCross==2){PlaySound(SOUND_UP);prepare;turn_lef...
else if(nCross==3){PlaySound(SOUND_UP);prepare;cross_li...
else if(nCross==4){PlaySound(SOUND_UP);prepare;turn_rig...
else if(nCross==5){PlaySound(SOUND_UP);prepare;turn_rig...
}
}
これは交差点に来た時のプログラムです。
ロボットがいつ交差点を認識したのか分かるように、交差点と...
*反省と感想 [#ga6217c2]
交差点を認識せずにそのまま普通のライントレースを続けてし...
テスト期間も重なってなかなかロボティクスに割く時間を作る...
終了行:
目次
#contents
*課題の内容 [#ueb9e0ee]
模造紙に書いた黒線を追ってロボットを走らせるライントレー...
私は交差点を、直進→左折→直進→右折→右折の順に通過してゴー...
*ロボットの説明 [#ze5c47c7]
ロボットの前に光センサーを付けてこのセンサーで黒い部分と...
#ref(ライントレース1.jpg)
#ref(ライントレース4.jpg)
*プログラム [#z3b649b9]
#define THRESHOLD 45
#define SPEED_H 50
#define SPEED_L 25
#define OnRL(speedR,speedL) OnFwd(OUT_B,speedR);OnFwd(OU...
#define go_straight OnRL(SPEED_H,SPEED_H);
#define turn_left1 OnRL(SPEED_L,-SPEED_L);//左旋回
#define turn_left0 OnRL(SPEED_L,0);//左折
#define turn_right1 OnRL(-SPEED_L,SPEED_L);//右旋回
#define turn_right0 OnRL(0,SPEED_L);//右折
#define CROSS_TIME 200
#define short_break Off(OUT_BC);Wait(1000);
#define nMAX 240
#define STEP 1
#define prepare short_break;turn_right1;Wait(200*STEP);
#define cross_line OnRL(SPEED_L,SPEED_L);Wait(CROSS_TIME...
#define turn_left Off(OUT_BC);OnRL(SPEED_L,0);Wait(600);...
#define turn_right Off(OUT_BC);OnRL(0,SPEED_L);Wait(500)...
はじめによく使う動きを定義しました。
task main()
{
SetSensorLight(S1);
int nOnline=0;//続けて黒になった回数
int nCross=1;//交差点の数
カウンターを使って、センサーが連続して黒を認識した数を数...
while(true){
while(nOnline<nMAX){
if(SENSOR_1<THRESHOLD-15){turn_left1; nOnline++;}
else{
if(SENSOR_1<THRESHOLD-7){turn_left0;}
else if(SENSOR_1<THRESHOLD+7){go_straight;}
else if(SENSOR_1<THRESHOLD+15){turn_right0;}
else{turn_right1;}
nOnline=0;
}
Wait(STEP);
}
これはライントレースのプログラムです。
センサーで明るさを測定した結果、黒が約40、白が約60という...
if(nCross==1){PlaySound(SOUND_UP);prepare;cross_line;nO...
else if(nCross==2){PlaySound(SOUND_UP);prepare;turn_lef...
else if(nCross==3){PlaySound(SOUND_UP);prepare;cross_li...
else if(nCross==4){PlaySound(SOUND_UP);prepare;turn_rig...
else if(nCross==5){PlaySound(SOUND_UP);prepare;turn_rig...
}
}
これは交差点に来た時のプログラムです。
ロボットがいつ交差点を認識したのか分かるように、交差点と...
*反省と感想 [#ga6217c2]
交差点を認識せずにそのまま普通のライントレースを続けてし...
テスト期間も重なってなかなかロボティクスに割く時間を作る...
ページ名: