- 履歴一覧
- ソース を表示
- 2005/A3/課題2左 は削除されています。
- 1 (2005-11-25 (金) 06:33:21)
- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/A3/課題2-a]]
[[2005/A3]]
*壁に沿うロボット program editer Hideshi [#ec3bdb30]
**基本プログラム [#w3ef1099]
sub Go(){OnFwd(OUT_A+OUT_C);}
sub Back(){OnRev(OUT_A+OUT_C);Wait(19);Off (OUT_A+OUT_C);}
sub Left_Turn(){OnRev(OUT_A);OnFwd(OUT_C);Wait(60);}
sub Right_Turn(){OnRev(OUT_C);OnFwd(OUT_A);Wait(60);}
-基本的の動作(前進、後退、左折、右折)を、サブルーチンで定義 [#f8d7ae32]
**実際に動かす(機体の前と右にセンサーを設置) [#ffcbbee1]
task main()
{SetSensor(SENSOR_2,SENSOR_TOUCH); //front sensor
SetSensor(SENSOR_3,SENSOR_TOUCH); //right sensor
while(true)
{Go();
if(SENSOR_2==1){Back();Left_Turn();Go();Off(OUT_C);Wait(30);Go();Wait(80);};
//If sensor of only front turn on,the machine turn left.
if(SENSOR_3!=1){Wait(80);Right_Turn();Go();Wait(50);Off(OUT_C);Wait(10);Go();Wait(80);};}
//if sensor of only right turn off,the machine turn right
}
***工夫点 [#zf8acdc6]
-Simple is best.
-センサーの感度が高いため、機体の右にあるセンサーがあまり作動しないようにプログラミングした。
-機体が右折したりすると、どうしても機体が壁から離れてしまうので、曲がった直後のしばらくは壁よりに進むようにした。
-もし仮に壁から離れてしまっても、自動的に近づくようにした。
***コメントをお願いします [#o2db3b29]
#comment
-[[おまけ>2005/A3/おまけ(wall)]] [#i31e4954]