2017a/Member/sawa/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2017a/Member]]
#contents
*課題について [#a519caec]
#ref(./2017a-mission2.png,80%,課題)
**右折ルート [#y0d1034e]
僕の担当したルートは右折するルートであった。
全体として道が枝分かれしているところを認識して音を鳴らし...
*ロボットについて [#je0a9760]
&ref(2017a/Member/sawa/Mission2/mission2ロボット.JPG,50%,...
&ref(2017a/Member/sawa/Mission2/mission2ロボット前面.JPG,...
ルートTの円を回れるようにするために車体の横幅(タイヤとタ...
*プログラムについて [#g50bed2d]
**defineとsubrutine [#c6aa0b20]
***define [#j5028005]
色について定義する。
#define white 50 //白色
#define white_gray 48 //白灰色
#define gray 40 //灰色
#define black_gray 37 //黒灰色
#define black 35 //黒色
簡単な動きについて定義する。
#define go_forward OnFwd(OUT_AC); //直進...
#define turn_left0 Off(OUT_A);OnFwd(OUT_C); //左旋...
#define turn_left1 OnRev(OUT_A);OnFwd(OUT_C); //左回...
#define turn_right0 Off(OUT_C);OnFwd(OUT_A); //右旋...
#define turn_right1 OnRev(OUT_C);OnFwd(OUT_A); //右回...
***subrutine [#x123b074]
これは黒線の右側を辿り、交差点や直角に右に曲がるようなと...
sub walk_right()
{
ClearTimer(0);
while(FastTimer(0)<15)
if(SENSOR_2>white_gray){
turn_left1;
ClearTimer(0);
}
else if(SENSOR_2>gray){
turn_left0;
ClearTimer(0);
}
else if(SENSOR_2>black_gray){
go_forward;
ClearTimer(0);
}
else if(SENSOR_2>black){
turn_right0;
ClearTimer(0);
}
else{
turn_right1;
}
Off(OUT_AC);
}
これは黒線の左側を辿り、交差点や直角に左に曲がるようなと...
sub walk_left()
{
ClearTimer(0);
while(FastTimer(0)<15)
if(SENSOR_2>white_gray){
turn_right1;
ClearTimer(0);
}
else if(SENSOR_2>gray){
turn_right0;
ClearTimer(0);
}
else if(SENSOR_2>black_gray){
go_forward;
ClearTimer(0);
}
else if(SENSOR_2>black){
turn_left0;
ClearTimer(0);
}
else{
turn_left1;
}
Off(OUT_AC);
}
**task main [#f4d9f7c4]
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
地点A
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(30);
Off(OUT_AC);
地点E
walk_left();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_C);
Wait(150);
Off(OUT_AC);
地点P
walk_left();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点Q
walk_left();
Off(OUT_AC);
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点R
walk_right();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点T
walk_right();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点T
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_A);
Wait(280);
Off(OUT_AC);
地点H
二個目の内側の半円周が曲がりきれないので一度認識させてか...
ClearTimer(0);
while(FastTimer(0)<30)
if(SENSOR_2>white_gray){
turn_left1;
ClearTimer(0);
}
else if(SENSOR_2>gray){
turn_left0;
ClearTimer(0);
}
else if(SENSOR_2>black_gray){
go_forward;
ClearTimer(0);
}
else if(SENSOR_2>black){
turn_right0;
ClearTimer(0);
}
else{
turn_right1;
}
Off(OUT_AC);
OnFwd(OUT_A);
Wait(270);
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(30);
Off(OUT_AC);
地点G
walk_left();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_C);
Wait(150);
Off(OUT_AC);
地点S
walk_left();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点P
walk_left();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点Q
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_A);
Wait(280);
Off(OUT_AC);
地点F
walk_right();
PlaySound(SOUND_DOWN);
}
地点A
*反省点 [#c891559c]
前回の課題と同様、電池の残量によって走る距離などが変わっ...
終了行:
[[2017a/Member]]
#contents
*課題について [#a519caec]
#ref(./2017a-mission2.png,80%,課題)
**右折ルート [#y0d1034e]
僕の担当したルートは右折するルートであった。
全体として道が枝分かれしているところを認識して音を鳴らし...
*ロボットについて [#je0a9760]
&ref(2017a/Member/sawa/Mission2/mission2ロボット.JPG,50%,...
&ref(2017a/Member/sawa/Mission2/mission2ロボット前面.JPG,...
ルートTの円を回れるようにするために車体の横幅(タイヤとタ...
*プログラムについて [#g50bed2d]
**defineとsubrutine [#c6aa0b20]
***define [#j5028005]
色について定義する。
#define white 50 //白色
#define white_gray 48 //白灰色
#define gray 40 //灰色
#define black_gray 37 //黒灰色
#define black 35 //黒色
簡単な動きについて定義する。
#define go_forward OnFwd(OUT_AC); //直進...
#define turn_left0 Off(OUT_A);OnFwd(OUT_C); //左旋...
#define turn_left1 OnRev(OUT_A);OnFwd(OUT_C); //左回...
#define turn_right0 Off(OUT_C);OnFwd(OUT_A); //右旋...
#define turn_right1 OnRev(OUT_C);OnFwd(OUT_A); //右回...
***subrutine [#x123b074]
これは黒線の右側を辿り、交差点や直角に右に曲がるようなと...
sub walk_right()
{
ClearTimer(0);
while(FastTimer(0)<15)
if(SENSOR_2>white_gray){
turn_left1;
ClearTimer(0);
}
else if(SENSOR_2>gray){
turn_left0;
ClearTimer(0);
}
else if(SENSOR_2>black_gray){
go_forward;
ClearTimer(0);
}
else if(SENSOR_2>black){
turn_right0;
ClearTimer(0);
}
else{
turn_right1;
}
Off(OUT_AC);
}
これは黒線の左側を辿り、交差点や直角に左に曲がるようなと...
sub walk_left()
{
ClearTimer(0);
while(FastTimer(0)<15)
if(SENSOR_2>white_gray){
turn_right1;
ClearTimer(0);
}
else if(SENSOR_2>gray){
turn_right0;
ClearTimer(0);
}
else if(SENSOR_2>black_gray){
go_forward;
ClearTimer(0);
}
else if(SENSOR_2>black){
turn_left0;
ClearTimer(0);
}
else{
turn_left1;
}
Off(OUT_AC);
}
**task main [#f4d9f7c4]
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
地点A
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(30);
Off(OUT_AC);
地点E
walk_left();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_C);
Wait(150);
Off(OUT_AC);
地点P
walk_left();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点Q
walk_left();
Off(OUT_AC);
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点R
walk_right();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点T
walk_right();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点T
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_A);
Wait(280);
Off(OUT_AC);
地点H
二個目の内側の半円周が曲がりきれないので一度認識させてか...
ClearTimer(0);
while(FastTimer(0)<30)
if(SENSOR_2>white_gray){
turn_left1;
ClearTimer(0);
}
else if(SENSOR_2>gray){
turn_left0;
ClearTimer(0);
}
else if(SENSOR_2>black_gray){
go_forward;
ClearTimer(0);
}
else if(SENSOR_2>black){
turn_right0;
ClearTimer(0);
}
else{
turn_right1;
}
Off(OUT_AC);
OnFwd(OUT_A);
Wait(270);
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(30);
Off(OUT_AC);
地点G
walk_left();
PlaySound(SOUND_DOWN);
Wait(100);
OnFwd(OUT_C);
Wait(150);
Off(OUT_AC);
地点S
walk_left();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点P
walk_left();
PlaySound(SOUND_UP);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
地点Q
walk_right();
PlaySound(SOUND_UP);
OnFwd(OUT_A);
Wait(280);
Off(OUT_AC);
地点F
walk_right();
PlaySound(SOUND_DOWN);
}
地点A
*反省点 [#c891559c]
前回の課題と同様、電池の残量によって走る距離などが変わっ...
ページ名: