[[2018b/Member]]
#contents
*課題1 [#o357f8f6]
これまで住んだことのある都道府県名、市町村名、地区名などの中から
2文字以上のものを選び、それをA4の紙を書くロボットを製作せよ。
**選んだ文字 [#babe1b86]
自分の出身地が三日市だったので、それを書くことにした。
*ロボットの説明 [#d695e29d]
**書くための工夫 [#c3647615]
x軸方向への移動を上の小さな車体で行い、y軸方向への移動を下の大きな車体で行うことにした。z軸方向(ペンの上げ下げ)は、上の車体についている小さなモーターで行う。
**書く順番 [#u3168dae]
x軸方向、y軸方向への動きだけで、斜めの動きがないので、横を先に書き、縦を後に書くことにした。ただ、x軸、y軸の正の方向へ書こうとするとペンが思うように動かず文字が書けないので、面倒ではあるがそれぞれ負の方向への動きだけに限定することにした。
&ref(S__225419270.jpg);

この部分がx軸方向への動きとz軸方向への動きを可能にしている。
&ref(S__225419273.jpg);

この部分が上にある写真の部品を乗っける部分と、y軸方向への動きを可能にしている。
*プログラミング [#j0ef7126]
動かすにあたって歳先ほどにも述べたように工夫が必要だったので、少しプログラムが長くなってしまった。
    OnRev(OUT_B,10);
    Wait(500);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(1000);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(1000);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
ここまでで上の3本線を書く
    OnFwd(OUT_A,10);
    Wait(750);
    Off(OUT_A);
    OnRev(OUT_B,10);
    Wait(7500);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(1000);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(1500);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(1000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_A,10);
    Wait(1000);
    Off(OUT_A);
ここまでで真ん中の3本線を書く
    OnRev(OUT_B,10);
    Wait(3800);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(1000);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
ここまででしたの2本線を書く
    OnRev(OUT_B,10);
    Wait(4200);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnRev(OUT_A,15);
    Wait(800);
    Off(OUT_A);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_A,10);
    Wait(1600);
    Off(OUT_A);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnRev(OUT_A,15);
    Wait(800);
    Off(OUT_A);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
ここまでで“日”が完成する
    OnRev(OUT_B,10);
    Wait(3700);
    Off(OUT_B);
    OnFwd(OUT_A,10);
    Wait(2200);
    Off(OUT_A);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnRev(OUT_A,15);
    Wait(1300);
    Off(OUT_A);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnFwd(OUT_A,10);
    Wait(2200);
    Off(OUT_A);
    OnFwd(OUT_B,10);
    Wait(1200);
    Off(OUT_B);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnRev(OUT_A,15);
    Wait(300);
    Off(OUT_A);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
    OnRev(OUT_B,10);
    Wait(2000);
    Off(OUT_B);
    OnFwd(OUT_A,10);
    Wait(700);
    Off(OUT_A);
    OnRev(OUT_C,4);
    Wait(1500);
    Off(OUT_C);
    OnRev(OUT_A,15);
    Wait(300);
    Off(OUT_A);
    OnFwd(OUT_C,13);
    Wait(1300);
    Off(OUT_C);
 
ここで“市”が完成する



*完成した文字 [#d742845b]
本番の一日前に完成した文字がこれである。

&ref(S__225501189.jpg);
*感想と考察 [#e8c99a60]
・キャタピラの部分がなかったためにX軸方向への動きを作るのに苦労した。
・パーツが少し足りずにバランスが悪くなってしまい、まっすぐに描くことができなかった。
・上からのおもりがなかったために、少し文字が曲がってしまった。
・文字を書くプログラミングが、こんなにも難しいものだと知った。
・次からは関数などを勉強してもっと簡単なプログラミングを書こうと考えた。


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