[[2006a ロボティクス入門ゼミ]]

*初めてのプログラム [#wa6b9c15]

**初めてつくったプログラムです。 [#e82fe272]
 task main() 
 {
    OnFwd(OUT_A+OUT_C); 
    Wait(300);
    OnRev(OUT_C);       
                        
    Wait(200);          
    Off(OUT_A+OUT_C);
 }


*課題 木を書く [#ib7a8b1b]

**完成までのプロセス [#y031bccd]
***5/12 [#d2c4711e]
-とりあえずプログラムだけ
-鉛筆のプログラムはあくまで『こうだろうなあ』と予想。
***5/19 [#fb7fbdfe]
-サブルーチン、関数、マクロを学ぶ。これで、ペンのプログラム
を簡略化できると、激しく喜ぶ。
-微調整に悩まされる。回転したときの動きの微調整がむずかしい。回転したときに生じる誤差を見越して、プログラムを作らなければいけないことに気づく。
-鉛筆ではうまく書けないことが判明。筆ペン、マジック、など濃いものがいい。あと、下書き用の紙をもっと持ってくるべきだった。



**プログラム [#j84839b5]
 #define  pen_down OnFwd(OUT_B); Wait(50);Off(OUT_B);//ペンをおろす
 #define  pen_up OnRev(OUT_B); Wait(50);Off(OUT_B);//ペンを上げる
 task main()
  {
 pen_down;//ペンをおろす
  OnFwd(OUT_A+OUT_C);//一画目「一」始め! 
  Wait(150);
  Off(OUT_A+OUT_C);
  pen_up;//ペンをあげる
    OnRev(OUT_A+OUT_C);//二画目に向け来た道を戻る
    Wait(100);
    Off(OUT_A+OUT_C);
     OnRev(OUT_C);//二画目に向け左旋回       
    Wait(200);
    Off(OUT_C);
    pen_down;//ぺんをおろす
     OnFwd(OUT_A+OUT_C);//二画目「|」始め! 
     Wait(280);
     Off(OUT_A+OUT_C);
     pen_up;//ペンをあげる
       OnRev(OUT_A+OUT_C);//三画目に向け二画目の2/3の地点までもどる       
      Wait(200);       
 Off(OUT_A +OUT_C);
         OnFwd(OUT_A);//三画目に向け左旋回
       Wait(100);
       Off(OUT_A);
           pen_down;//ぺんをおろす
        OnFwd(OUT_A+OUT_C);//三画目「/」始め!
        Wait(100);
        Off(OUT_A+OUT_C);
        pen_up;ペンをあげる
          OnRev(OUT_A+OUT_C);//三画目の始点までもどる 
         Wait(100);
         Off(OUT_A+OUT_C);
           OnRev(OUT_A);//四画目に向け左旋回
          Wait(200);
                 Off(OUT_A);
            OnFwd(OUT_A+OUT_C);//ちょっと調整、前進する 
           Wait(150);
                   Off(OUT_A+OUT_C);
                    pen_down;//ペンをおろす
                    OnFwd(OUT_A+OUT_C); //四画目「\」始め!
           Wait(400);
           Off(OUT_A+OUT_C);//終了。上手く書けたかな?
   }

**反省点 [#g1cefb5d]
-もっと定義を利用してプログラムを簡略化すればよかった。
-旋回するときに片輪で旋回したため、誤差を生む原因となってしまった。両輪をそれぞれ逆に動かして、その場で回転するようにすればよかった。(プログラム作成中)

*コメントをどうぞ [#cb484e12]

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS