2015a/Member/nttk/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2015a/Member]]
*はじめに [#vcf654c2]
今回私は黒線で塗られたラインをなぞりながらボールを運び最...
*ロボット本体の説明 [#g4fbc247]
&ref(./WIN_20150716_171949.JPG,,20%);&ref(./WIN_20150716_...
*プログラムの説明 [#n258b9f6]
#define BLACK 40//40以下は黒
#define WHITE 50//50以上は白と判断させます
#define SPEED 30//スピードを二種類定義しました
#define speed 10
#define go_forward OnFwd(OUT_BC,SPEED);
#define turn_left OnFwd(OUT_B,speed);OnRev(OUT_C,speed);
#define turn_right OnRev(OUT_B,speed);OnFwd(OUT_C,speed);
#define STEP 1
#define nMAX 150
#define crossing OnFwd(OUT_BC,SPEED);Wait(750);
#define short_break Off(OUT_BC);Wait(2000);
#define shoot OnRev(OUT_A,speed);Wait(10);OnRev(OUT_BC,s...
#define take OnFwd(OUT_BC,speed);Wait(1000);OnFwd(OUT_A,...
task main()
{
SetSensorLight(S3);
int nOnline=0;
if (true) {
while(nOnline< nMAX){
if (SENSOR_3 < BLACK) {
turn_left;//黒と判断した時は左折させ
nOnline++;//黒のときはカウンターをスタートさせ
} else if (SENSOR_3 < WHITE) {
go_forward;nOnline=0;//白と黒の間のときはまっすぐ進...
} else {
turn_right;nOnline=0;//白のときは右折させカウンター...
}
Wait(STEP);
}
short_break;
turn_left;Wait(nMAX*STEP);
take;//黒のカウントが上限に達した時はボールを掴む動きを...
nOnline=0;
}
if (true) {//再びライントレースさせ
while(nOnline< nMAX){
if (SENSOR_3 < BLACK) {
turn_left;
nOnline++;
} else if (SENSOR_3 < WHITE) {
go_forward;nOnline=0;
} else {
turn_right;nOnline=0;
}
Wait(STEP);
}
short_break;
turn_left;Wait(nMAX*STEP);
crossing;//二回目の交差点を直進させ
nOnline=0;
}
if (true) {
while(nOnline< nMAX){
if (SENSOR_3 < BLACK) {
turn_left;
nOnline++;
} else if (SENSOR_3 < WHITE) {
go_forward;nOnline=0;
} else {
turn_right;nOnline=0;
}
Wait(STEP);
}
short_break;
turn_left;Wait(nMAX*STEP);
shoot;//最後はシュートの動きさせました
nOnline=0;
}
}
**プログラミングの説明 [#t0f301f2]
&ref(./WIN_20150716_172127.JPG,,20%);
まず、私はカウント方式を使いボールを運びました。
光センサーで40以下は黒と判断させ線の外側をトレースさせ...
**シュートの動き [#paaa562e]
&ref(./WIN_20150716_172140.JPG,,20%);アームを上げボールの...
*工夫した点 [#w950e527]
スピードを二種類つくり右左交互に曲がるときはゆっくり進ま...
*改善点 [#o72fca25]
急なカーブの時に間違えて交差点と反応してしまうことが多々...
終了行:
[[2015a/Member]]
*はじめに [#vcf654c2]
今回私は黒線で塗られたラインをなぞりながらボールを運び最...
*ロボット本体の説明 [#g4fbc247]
&ref(./WIN_20150716_171949.JPG,,20%);&ref(./WIN_20150716_...
*プログラムの説明 [#n258b9f6]
#define BLACK 40//40以下は黒
#define WHITE 50//50以上は白と判断させます
#define SPEED 30//スピードを二種類定義しました
#define speed 10
#define go_forward OnFwd(OUT_BC,SPEED);
#define turn_left OnFwd(OUT_B,speed);OnRev(OUT_C,speed);
#define turn_right OnRev(OUT_B,speed);OnFwd(OUT_C,speed);
#define STEP 1
#define nMAX 150
#define crossing OnFwd(OUT_BC,SPEED);Wait(750);
#define short_break Off(OUT_BC);Wait(2000);
#define shoot OnRev(OUT_A,speed);Wait(10);OnRev(OUT_BC,s...
#define take OnFwd(OUT_BC,speed);Wait(1000);OnFwd(OUT_A,...
task main()
{
SetSensorLight(S3);
int nOnline=0;
if (true) {
while(nOnline< nMAX){
if (SENSOR_3 < BLACK) {
turn_left;//黒と判断した時は左折させ
nOnline++;//黒のときはカウンターをスタートさせ
} else if (SENSOR_3 < WHITE) {
go_forward;nOnline=0;//白と黒の間のときはまっすぐ進...
} else {
turn_right;nOnline=0;//白のときは右折させカウンター...
}
Wait(STEP);
}
short_break;
turn_left;Wait(nMAX*STEP);
take;//黒のカウントが上限に達した時はボールを掴む動きを...
nOnline=0;
}
if (true) {//再びライントレースさせ
while(nOnline< nMAX){
if (SENSOR_3 < BLACK) {
turn_left;
nOnline++;
} else if (SENSOR_3 < WHITE) {
go_forward;nOnline=0;
} else {
turn_right;nOnline=0;
}
Wait(STEP);
}
short_break;
turn_left;Wait(nMAX*STEP);
crossing;//二回目の交差点を直進させ
nOnline=0;
}
if (true) {
while(nOnline< nMAX){
if (SENSOR_3 < BLACK) {
turn_left;
nOnline++;
} else if (SENSOR_3 < WHITE) {
go_forward;nOnline=0;
} else {
turn_right;nOnline=0;
}
Wait(STEP);
}
short_break;
turn_left;Wait(nMAX*STEP);
shoot;//最後はシュートの動きさせました
nOnline=0;
}
}
**プログラミングの説明 [#t0f301f2]
&ref(./WIN_20150716_172127.JPG,,20%);
まず、私はカウント方式を使いボールを運びました。
光センサーで40以下は黒と判断させ線の外側をトレースさせ...
**シュートの動き [#paaa562e]
&ref(./WIN_20150716_172140.JPG,,20%);アームを上げボールの...
*工夫した点 [#w950e527]
スピードを二種類つくり右左交互に曲がるときはゆっくり進ま...
*改善点 [#o72fca25]
急なカーブの時に間違えて交差点と反応してしまうことが多々...
ページ名: