[[2005/A3]]

*序章  文字「左」を書く            program editer     Hideshi                 [#i983f7f2]

**機体説明 [#o1dbe123]
- [[機体概略>2005/A3/機体(1L)]]

**基本プログラム [#wd9eee33]
[#m527a634]
 sub Pen_Down()   {OnFwd(OUT_B);Float(OUT_B);Wait(50);}
 sub Pen_Up()    {OnRev(OUT_B);}
 void Right_Turn(int t){OnFwd(OUT_A);OnRev(OUT_C);Wait(t);}
 void Left_Turn(int t){OnFwd(OUT_C);OnRev(OUT_A);Wait(t);}
 void Back(int t) {OnRev(OUT_A+OUT_C);Wait(t);}
 void Go(int t){OnFwd(OUT_A+OUT_C);Wait(t);}
 sub Stop() {Off(OUT_A+OUT_C);Wait(50);}
***工夫点 [#bacf425b]
 ・左右を反対方向に 0.85 秒回せば、機体が 90 度回る事は多くの班で気づいている事だと思うけど、あえて sub で指示をせず、 void にして time 値を状況ごとに変えれるようにして微調整をおこないました。
**実際に動かす [#l3257f9a]
  task main()
 {Pen_Down();Wait(20);                          // The first straight
 Go(120);Pen_Up();Stop();   
 Back(85);Left_Turn(20);                 //Shift to the second curve
 Stop();Pen_Down();Wait(50);Right_Turn(70);          //The second curve
 Pen_Up();Go(50);Left_Turn(50);Back(45);Stop();   //Shift to the third straight
 Pen_Down();Go(60);Stop();Pen_Up();                             //The third straight
 Go(80);Left_Turn(85);Back(124);Stop();         //Shift to the fourth straight
 Pen_Down();Back(50);Stop();                                        //The fourth straight
 Pen_Up();Go(100);Left_Turn(85);Back(75);Stop();     //Shift to the fifth straight
 Pen_Down();Back(80);Stop();                               //The fifth straight
 Pen_Up();Right_Turn(85);Back(50);Off(OUT_A+OUT_B+OUT_C);}
**感想 [#c9f4ce01]
 ・機体はグループで話し合って作りましたが、プログラムは自分でしか作れないので大変でした。特に微調整に多くの時間をかけたけど、上手く書けたので良かったです。
*コメントをお願いします [#udd54ac0]
-他の人が見ても理解しやすい様な工夫をするともっと良いと思う。プログラム自体は良いと思う。 -- [[ストップ]] &new{2005-11-18 (金) 15:27:00};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS