[[2019a/Member]]
#contents
*課題内容 [#he70000e]
+都道府県名、地名の中から漢字2文字12画以上のものをロボットで書く。
+紙はA4、四隅をテープで固定可能。
*選んだ文字 [#kd711894]
私の地元の「三朝」(みささ)です。
恐らく知らない人が多いと思いますが…
&ref(nageire.jpg,zoom,400x300);
↑↑こんなのあります.興味のある方は「投入堂」で検索してみてください
*ロボットの設計 [#b2559492]
x-y-zの三軸でペンを制御します。
&ref(Inkedrob1_LI.jpg,zoom,600x450);
x軸でペンを左右に動かします。写真のxとある右向きの矢印のあたりにレールのようなものがありますが、その上をモーターが走ることによってペンを左右に動かします。
y軸はロボッ卜本体の下にモーターがありそのモーターでペンを前後に動かします。
&ref(InkedRobot002.jpg,zoom,600x450);
z軸はペンの上げ下げを行います。仕組みは写真の通りです。
ギアで動力を2つのギアへ伝え、回転運動を上下運動へと変換します。
*プログラム [#i2cbb51b]
#define pen_up OnRev(OUT_C,30);Wait(300);Off(OUT_C);Wait(100);//ペンを上げる
#define pen_down OnFwd(OUT_C,30);Wait(300);Off(OUT_C);Wait(100);//ペンを下げる
#define shut Off(OUT_A);Off(OUT_B);Off(OUT_C);//モーターをすべて止める
#define rest Wait(100);//0.1秒間停止
まず,ペンの上げ下げ,停止,静止を定義する.
&ref(kakijyunn1.jpg,zoom,400x300);
※実線の矢印がペンが接地している線、破線の矢印がペンが接地していない線です。
写真にある番号とプログラムの「//」のあとにある番号が対応しています。
task main ()
{
OnFwd(OUT_B,25);//X軸正の方向へ��
Wait(800);
shut;
pen_up;//ペンを上げ
OnFwd(OUT_A,25);//y軸正の方向へ
Wait(300);
shut;
ペンを横移動させ,上げる
pen_down;//ペンを下ろす
OnRev(OUT_B,25);//��
Wait(800);
shut;
pen_up;
OnFwd(OUT_A,25);
Wait(300);
shut;
rest;
OnRev(OUT_B,25);//��
Wait(200);
shut;
rest;
pen_down;
OnFwd(OUT_B,25);
Wait(1200);
shut;
rest;
pen_up;
ここまで「三」を書く,二画目,三画目も左右の調整とペンの上げ下げのみで書きます.
OnFwd(OUT_A,25);Wait(450);shut;rest;
OnRev(OUT_B,25);Wait(1200);shut;rest;
pen_down;
位置を調節して「朝」を書き始めます.
&ref(kakijyunn2.jpg,zoom,400x300);
OnFwd(OUT_B,25);Wait(600);shut;//��
pen_up;
OnFwd(OUT_A,25);Wait(200);shut;rest;
pen_down;
OnRev(OUT_B,25);Wait(600);shut;//��
pen_up
OnFwd(OUT_A,25);Wait(200);shut;rest;
pen_down;
OnFwd(OUT_B,25);Wait(600);shut;//��
pen_up;
OnFwd(OUT_A,25);Wait(200);shut;rest;
pen_down;
OnRev(OUT_B,25);Wait(600);shut;//��
pen_up
OnFwd(OUT_A,25);Wait(200);shut;rest;
pen_down;
OnFwd(OUT_B,25);Wait(600);shut;//��
pen_up;rest;
ここまで朝の左側の横線を書きます.次に縦線を書いていきます.
&ref(kakijyunn3.jpg,zoom,400x300);
OnRev(OUT_B,25);Wait(300);shut;rest;
OnRev(OUT_A,25);Wait(1000);shut;rest;
OnFwd(OUT_A,25);Wait(400);shut;rest;//��
pen_up;
OnRev(OUT_B,25);Wait(300);shut;rest;
pen_down;
OnFwd(OUT_A,25);Wait(400);shut;//��
pen_up;
OnRev(OUT_A,25);Wait(400);shut;rest;
OnFwd(OUT_B,25);Wait(600);shut;
pen_down;
OnFwd(OUT_A,25);Wait(400);shut;rest;//��
pen_up;
OnRev(OUT_B,25);Wait(300);shut;rest;
pen_down;
OnFwd(OUT_A,25);Wait(400);shut;//��
pen_up;
OnFwd(OUT_B,25);Wait(400);shut;
pen_down;
ここまでで左側が書けました.
#ref(kakijyunn4.jpg,zoom,400x300);
OnRev(OUT_A,25);Wait(1200);shut;rest;//��
OnFwd(OUT_B,25);Wait(500);shut;rest;
OnFwd(OUT_A,25);Wait(1200);shut;//�―�わり
pen_up;
OnRev(OUT_A,25);Wait(400);shut;
pen_down;
OnFwd(OUT_B,25);Wait(500);shut;rest;//��
pen_up;
OnRev(OUT_A,25);Wait(400);shut;
pen_down;
OnRev(OUT_B,25);Wait(500);shut;//��
}
右側の月を書いて終わりです.
「朝」は横棒をすべて書いてから縦棒を書く.
全体的にプログラムが長くなってしまったのが反省点
*まとめ [#x0ca35c9]
x軸を移動する仕組みが空回りをしたり抵抗を受けたりして進まないことがしばしばありました。
モーターの前進,後進で出力に差があり調整が難しかったです。
&ref(misa.jpg);
完成作品です.次第に左に寄っていくのがわかります.