[[2019a/Member]] *課題1 [#td6258d2] これまで住んだことのある都道府県名、市町村名、地区名などの中から2文字以上、かつ合計10画以上のものを選び、それをA4の紙に書くロボットを作成せよ。 私たちは書きやすさを考慮し、今現在住んでいる「松本」という文字を書くことにした。ペアがマクロと松の木偏を、私が松の公と本を担当した。 *構造 [#u65fbeaf] プログラミングの簡略化のためにプリンタ型のロボットを製作した。台車と左右の動きとペンの上げ下げの動きを出すために計3個のモーターを取り付けた。安定化させるために上下・前後・左右のバランスに注意した。 #ref(2019a/Member/Tomi/Mission1/20190604_013246s.jpg,50%) #ref(2019a/Member/Tomi/Mission1/20190604_013324s.jpg,50%) *プログラミング [#m1195eb8] +マクロ #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; } *工夫した点 [#yc9dac1d] -台車の歯車: モーターに取り付けた8枚歯の歯車に向きを90度変える16枚歯の歯車をかませて、同じ軸に取り付けた8枚歯の歯車と32枚歯の歯車をかませることで台車がゆっくり進むようにした。 #ref(2019a/Member/Tomi/Mission1/20190604_013029s.jpg,50%) -回転しやすくする: ペンを引っかからずにスムーズに左右に動かすために写真のように部品をかませた。また、安定させるために2つ用いてた。 #ref(2019a/Member/Tomi/Mission1/20190604_013003s.jpg,50%) -左右にゆっくり動かす: 台車に施した工夫と同様にモーターに取り付けた8枚歯の歯車に16枚歯の歯車をかませて、同じ軸に取り付けた8枚歯と32枚歯の歯車をかませてペンが左右にゆっくり動くようにした。また、写真の右側の歯車は安定させるために取り付けた。書き始める時に位置を変えやすいように写真のような取っ手をつけた。 #ref(2019a/Member/Tomi/Mission1/20190604_012851s.jpg,50%) #ref(2019a/Member/Tomi/Mission1/20190604_012929s.jpg,50%) #ref(2019a/Member/Tomi/Mission1/20190604_012936s.jpg,50%) -ペンの固定: ロボットにペンを固定させるのにペンの後ろに棒を通して輪ゴムでとめた。初め、輪ゴムは1つのみ用いて動かしていたが紙にあたると少しずつずれてしまい、後半になるにつれ線が細く乱れてしまったため2つで固定した。 #ref(2019a/Member/Tomi/Mission1/20190604_012730s.jpg,50%) *完成形 [#oecd2a31] 松の右側が少し上に行きすぎており、右斜め下に向かう線がガタついているが読める程度にはかけた。 #ref(2019a/Member/Tomi/Mission1/20190604_012624.jpg,1%) #ref(2019a/Member/Tomi/Mission1/20190604_012624s.jpg,50%) *反省点 [#meb73de7] プログラミングに関数を用いればより簡単にかけたと思う。マクロの数も多すぎた。ロボットが少し大きくなりすぎたが、分解しやすいようにした。