2019a/Member

課題について

  • 「香川」の文字を書くことに決めた。

ロボの構造について

ロボの構造

  • 講義のはじめに作った簡単な車型のロボをまず作り、その先端に1つ歯車を取り付けた。この歯車にペンを取り付け、歯車の回転によってペン先を紙に当てたり離したりできるようにした。なお、回転時間によってペン先の調整することは困難なため、上図のように歯車の上部にストッパーを取り付けた。

プログラムについて

  • 以下のように、ペンの上げ下げ、前進、後進、右左の回転を定義した
    #define pen_up OnRev(OUT_B);Wait(10);                                   //ペンを上げる
    #define pen_down OnFwd(OUT_B);Wait(10);                                 //ペンを下げる
    #define mae(f) OnFwd(OUT_AC);Wait(f);Off(OUT_AC);                       //前に進む
    #define ushiro(b) OnRev(OUT_AC);Wait(b);Off(OUT_AC);                    //後ろに下がる
    #define migikaiten(r) OnFwd(OUT_A);OnRev(OUT_C);Wait(r);Off(OUT_AC);    //右回転
    #define hidarikaiten(l) OnFwd(OUT_C);OnRev(OUT_A);Wait(l);Off(OUT_AC);  //左回転
  • 以下のように8つのまとまりに分けてサブルーチンを定義した
  1. 「香」の1・2画目
    sub ichinikaku()
    {
       pen_down;
       ushiro(70);             //「香」の1画目
       pen_up;
       migikaiten(20);
       mae(100);
       pen_down;
       ushiro(120);            //「香」の2画目
       pen_up;
    }
  2. 「香」の3画目
    sub sankaku()
    {
       mae(150);
       migikaiten(120);
       ushiro(50)
       pen_down;
       ushiro(80);
       pen_up;
    }
  3. 「香」の4・5画目
    sub yongokaku()
    {
       mae(40);
       pen_down;
       OnFwd(OUT_A);             //「香」の4画目
       Wait(120);
       Off(OUT_A);
       pen_up;
       OnRev(OUT_A);
       Wait(120);
       Off(OUT_A);
       pen_down;
       OnFwd(OUT_C);             //「香」の5画目
       Wait(120);
       Off(OUT_C);
       pen_up;
       OnRev(OUT_C);
       Wait(120);
       Off(OUT_C);
    }
  4. 「香」の6画目
    sub rokkaku()
    {
       mae(230);
       migikaiten(120);
       mae(40);
       migikaiten(120);
       pen_down;
       ushiro(80);
       pen_up;
    }
  5. 「香」の7画目
    sub nanakaku()
    {
       mae(170);
       migikaiten(140);
       ushiro(80);
       pen_down;
       mae(100);
       pen_up;
       mae(80);
       migikaiten(120);
       ushiro(100);
       pen_down;
       mae(80);
       pen_up;
       mae(40);
    }
  6. 「香」の8画目
    sub hachikaku()
    {
       mae(15);
       hidarikaiten(120);
       ushiro(120);
       pen_down;
       ushiro(100);
       pen_up;
    }
  7. 「香」の9画目
    sub kyukaku()
    {
       hidarikaiten(120);
       ushiro(30);
       hidarikaiten(135);
       ushiro(220);
       pen_down;
       ushiro(100);
       pen_up;
    }
  8. 「川」の文字
    sub jujuichijunikaku()
    {
       mae(200);
       hidarikaiten(120);
       pen_down;
       mae(100);                    //「川」の1画目
       pen_up;
       hidarikaiten(120);
       mae(50);
       migikaiten(120);
       ushiro(30);
       pen_down;
       ushiro(70);                  //「川」の2画目
       pen_up;
       migikaiten(120);
       ushiro(50);
       hidarikaiten(120);
       ushiro(40);
       pen_down;
       mae(120);                    //「川」の3画目
       pen_up;
    }
  • 上記の8つのサブルーチンのみを用いて以下のようにプログラムした
    task main()
    {
       ichinikaku();
       sankaku();
       yongokaku();
       rokkaku();
       nanakaku();
       hachikaku();
       kyukaku();
       jujuichijunikaku();
    }

結果

上記のプログラムによって以下写真の文字を書くことができた 香川の文字

感想・反省

  • 時間調整がかなり困難であった。
  • x軸y軸に分けて文字を書くほうがもう少しきれいな文字を書けたと思う。

添付ファイル: file8229D173-F667-4BC1-8832-1E330012833A.jpg 27件 [詳細] file88582F02-4F94-4109-A12E-B1C0B3B8CBAA.png 24件 [詳細] file8229D173-F667-4BC1-8832-1E330012833A.png 7件 [詳細] file88582F02-4F94-4109-A12E-B1C0B3B8CBAA.jpeg 17件 [詳細] file8229D173-F667-4BC1-8832-1E330012833A.jpeg 31件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-17 (水) 14:50:57