2019a/Member

課題1 

これまで住んだことのある都道府県名、市町村名、地区名などの中から2文字以上、かつ合計10画以上のものを選び、それをA4の紙に書くロボットを作成せよ。

私たちは書きやすさを考慮し、今現在住んでいる「松本」という文字を書くことにした。ペアがマクロと松の木偏を、私が松の公と本を担当した。

構造

プログラミングの簡略化のためにプリンタ型のロボットを製作した。台車と左右の動きとペンの上げ下げの動きを出すために計3個のモーターを取り付けた。安定化させるために上下・前後・左右のバランスに注意した。

20190604_013246s.jpg
20190604_013324s.jpg

プログラミング

  1. マクロ
    #define TATE_down150 OnFwd(OUT_B);Wait(150);Off(OUT_B);
    #define TATE_down50 OnFwd(OUT_B);Wait(50);Off(OUT_B);
    #define TATE_UP50 OnRev(OUT_B);Wait(50);Off(OUT_B);
    #define TATE_UP100 OnRev(OUT_B);Wait(100);Off(OUT_B);
    #define TATE_UP25 OnRev(OUT_B);Wait(25);Off(OUT_B);
    
    #define NANAME_right OnFwd(OUT_B);OnRev(OUT_C);Wait(100);Off(OUT_BC); 
    #define NANAME_right_half OnFwd(OUT_B);OnRev(OUT_C);Wait(050);Off(OUT_BC); 
    #define NANAME_right_quarter OnFwd(OUT_B);OnRev(OUT_C);Wait(025);Off(OUT_BC); 
    #define NANAME_rightback OnRev(OUT_B);OnFwd(OUT_C);Wait(100);Off(OUT_BC);
    #define NANAME_rightback_half OnRev(OUT_B);OnFwd(OUT_C);Wait(050);Off(OUT_BC);
    #define NANAME_rightback_quarter OnRev(OUT_B);OnFwd(OUT_C);Wait(035);Off(OUT_BC);
    #define NANAME_left OnFwd(OUT_BC);Wait(100);Off(OUT_BC); 
    #define NANAME_left_half OnFwd(OUT_BC);Wait(050);Off(OUT_BC); 
    #define NANAME_leftback OnRev(OUT_BC);Wait(100);Off(OUT_BC); 
    #define NANAME_leftback_half OnRev(OUT_BC);Wait(050);Off(OUT_BC);  
     
    #define UP OnFwd(OUT_A);Wait(100);Off(OUT_A);
    #define DOWN OnRev(OUT_A);Wait(50);Off(OUT_A); 
    
    #define YOKO_left100 OnFwd(OUT_C);Wait(100);Off(OUT_C);
    #define YOKO_right100 OnRev(OUT_C);Wait(100);Off(OUT_C);
    #define YOKO_left50 OnFwd(OUT_C);Wait(50);Off(OUT_C);
    #define YOKO_right50 OnRev(OUT_C);Wait(050);Off(OUT_C);
    
  • task main()
    {
        YOKO_right100;
        UP;
        YOKO_left50;
        TATE_UP50;
        DOWN;
        TATE_down150;
        UP;
        TATE_UP100;
        DOWN;
        NANAME_left_half; 
        UP;
        NANAME_leftback_half;
        DOWN;
        NANAME_right_half;
        UP;
  •     TATE_UP100;
        YOKO_right50;
        DOWN;
        NANAME_left_half;
        UP;
        NANAME_leftback_half;
        YOKO_right50;
        DOWN;
        NANAME_right_half;
        UP;
        YOKO_left100;
        DOWN;
        NANAME_left_half;
        YOKO_right100;
        UP;
        NANAME_rightback_quarter;
        DOWN;
        NANAME_right_half;
        UP;
    
  •     YOKO_left100;
        YOKO_left100;
        TATE_down150;
        DOWN;
        YOKO_right100;
        YOKO_right100;
        UP;
        YOKO_left100;
        TATE_UP50;
        DOWN;
        TATE_down150;
        UP;
        TATE_UP50;
        TATE_UP50;
        DOWN;
        NANAME_left;
        UP;
        NANAME_leftback;
        DOWN;
        NANAME_right;
        UP;
        YOKO_left100;
        YOKO_left50;
        TATE_UP25;
        DOWN;
        YOKO_right100;
    }

工夫した点

  • 台車の歯車: モーターに取り付けた8枚歯の歯車に向きを90度変える16枚歯の歯車をかませて、同じ軸に取り付けた8枚歯の歯車と32枚歯の歯車をかませることで台車がゆっくり進むようにした。
    20190604_013029s.jpg
  • 回転しやすくする: ペンを引っかからずにスムーズに左右に動かすために写真のように部品をかませた。また、安定させるために2つ用いてた。
    20190604_013003s.jpg
  • 左右にゆっくり動かす: 台車に施した工夫と同様にモーターに取り付けた8枚歯の歯車に16枚歯の歯車をかませて、同じ軸に取り付けた8枚歯と32枚歯の歯車をかませてペンが左右にゆっくり動くようにした。また、写真の右側の歯車は安定させるために取り付けた。書き始める時に位置を変えやすいように写真のような取っ手をつけた。
    20190604_012851s.jpg
    20190604_012929s.jpg
    20190604_012936s.jpg
  • ペンの固定: ロボットにペンを固定させるのにペンの後ろに棒を通して輪ゴムでとめた。初め、輪ゴムは1つのみ用いて動かしていたが紙にあたると少しずつずれてしまい、後半になるにつれ線が細く乱れてしまったため2つで固定した。
    20190604_012730s.jpg

完成形

松の右側が少し上に行きすぎており、右斜め下に向かう線がガタついているが読める程度にはかけた。

20190604_012624s.jpg

反省点

プログラミングに関数を用いればより簡単にかけたと思う。マクロの数も多すぎた。ロボットが少し大きくなりすぎたが、分解しやすいようにした。


添付ファイル: file20190604_012624s.jpg 4件 [詳細] file20190604_012730s.jpg 6件 [詳細] file20190604_012936s.jpg 5件 [詳細] file20190604_012929s.jpg 6件 [詳細] file20190604_012851s.jpg 5件 [詳細] file20190604_013003s.jpg 3件 [詳細] file20190604_013029s.jpg 3件 [詳細] file20190604_013324s.jpg 4件 [詳細] file20190604_013246s.jpg 6件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-19 (水) 22:06:20 (66d)