目次 #contents *課題について [#p898c9a1] 自分の住んでいた都道府県名、市町村名、地区名の中から、~ 2文字以上で13画以上の漢字を選び、それをA4の用紙に書くロボットを作成する。 **選んだ文字 [#h6084afd] 私たちが選んだ文字は、私の出身県にある&color(#0000ff,#ffffff){「高山」};という文字です。 *ロボット本体について [#g3b24a4e] **書き方 [#r0190aeb] ロボットをそれぞれx軸、y軸に分けて書けるようにした。 #ref(2019a/Member/Gouki/Mission1/Inked1559666182987_LI.jpg,30%); **ロボットの仕組み [#yc3186f3] ***パーツ [#v6a68372] これらのパーツが私のグループのロボットを形成しています。 #ref(2019a/Member/Gouki/Mission1/1559666174509.jpg,30%); ***ロボットの全容 [#z1959f57] 以下の写真が完成したロボットです。~ 大まかに言うと、母体となる機器類にレールを取り付け、~ そのレールの上をモーターが走り、モーターに取り付けられたいるペンが上下する設計となっています。 #ref(2019a/Member/Gouki/Mission1/InkedInked1559666181450_LI.jpg,30%); ***X軸 [#w46cde82] X軸は1枚目の写真の大きなタイヤが付いているものと~ レールが付いているものを合体させたものを前後に動かすことにより制御しています。 #ref(2019a/Member/Gouki/Mission1/1559666168350.jpg,30%); ***Y軸 [#m18013d1] Y軸は、下記のパーツを主に使い、レールの上を~ 2つ目の写真のモーターが2つ合体しているパーツが走ることで制御している。 #ref(2019a/Member/Gouki/Mission1/1559666172924.jpg,30%); #ref(2019a/Member/Gouki/Mission1/1559666163833.jpg,30%); ***Z軸 [#b5e89247] Z軸は1枚目の写真の機構のペンを上下させることで制御している。 #ref(2019a/Member/Gouki/Mission1/Inked1559666178167_LI.jpg,30%); ここからペンの上下の具体的な構造を見ていきます。~ まず、ペンの上げ方ですが下の図を見てもらうとわかりやすいのですが、~ 向かって正面右回りでモーターが回転すると小さい歯車が右に、大きい歯車が左に回転し、 大きい歯車に付いている3個穴の開いている部品が上に、モーターの上部にがっちりと固定されている~ 7個穴が開いている長い部品も上に上がり、ペンが固定されている部分が上に上げるという仕組みです。 #ref(2019a/Member/Gouki/Mission1/Inked1559666179959_LI.jpg,30%); ペンの下げ方は上記で記した上げ方の全く逆のことをすれば、ペンが下がります。 #ref(2019a/Member/Gouki/Mission1/InkedInked1559666179958_LI.jpg,30%); *書き順 [#tf455968] どうすれば簡単に書けるかを突き止めた結果、下の写真のような書き方になりました。 #ref(2019a/Member/Gouki/Mission1/Inked1559666182986_LI.jpg,30%); *プログラムについて [#pc484f54] まず、私たちのプログラミングは始めに#defineを使い、モーターの動作などをマクロを使い、定義しました。~ #define arm_up OnFwd(OUT_B,20);Wait(700);Off(OUT_B); #define arm_down OnRev(OUT_B,20);Wait(700);Off(OUT_B); #define stopA Off(OUT_A); #define stopC Off(OUT_C); #define straightA OnRev(OUT_A,20); #define backA OnFwd(OUT_A,20); #define straightC OnFwd(OUT_C,20); #define backC OnRev(OUT_C,20); アームの上げ下げはarm_up,arm_down で行い、文字の書く方向は下の写真の通りです。 #ref(2019a/Member/Gouki/Mission1/Inked1559666182989_LI.jpg,30%); ここから下のプログラムは、~ ペンを下ろし、~ 本体が文字を書き、~ ペンを上げ、~ 本体が次の書く場所へと移動する~ という動作の繰り返しです。 ~ ~ 一画目 task main() { arm_down; straightA; Wait(1500); stopA; arm_up; 一画目から二画目へ移動 backA; Wait(750); stopA; 二画目 arm_down; backC; Wait(385); stopC; arm_up; 二画目から三画目へ移動 backA; Wait(385); stopA; straightC; Wait(565); stopC; 三画目 arm_down; straightA; Wait(750); stopA; straightC; Wait(565); stopC; backA; Wait(750); stopA; backC; Wait(600); stopC; arm_up; 三画目から四画目へ移動 backA; Wait(400); stopA; straightC; Wait(2000); stopC; straightA; Wait(281); stopA; 四画目 arm_down; backA; Wait(310); stopA; backC; Wait(1125); stopC; straightA; Wait(1500); stopA; straightC; Wait(1125); stopC; arm_up; 四画目から五画目へ移動 backA; Wait(1111); stopA; backC; Wait(281); stopC; 五画目へ arm_down; backC; Wait(562); stopC; straightA; Wait(750); stopA; straightC; Wait(562); stopC; backA; Wait(750); stopA; arm_up; 五画目から六画目へ移動 backC; Wait(750); stopC; backA; Wait(1125); stopA; 六画目 arm_down; straightC; Wait(1125); stopC; backA; Wait(1500); stopA; backC; Wait(1125); stopC; arm_up; 六画目から七画目へ移動 backC; Wait(1125); stopC; straightA; Wait(725); stopA; 七画目 arm_down; straightC; Wait(2250); stopC; arm_up; backA; Wait(2250); stopA; } *完成した文字 [#tbd559ac] #ref(2019a/Member/Gouki/Mission1/1559666182984.jpg,30%); *まとめ [#z714027a] 課題はきちんと達成することができました。かなり出来の良い漢字が書けたと思います。~ しかし課題があるとするならば、「高」が少し横にずれてしまったことです。~ 原因は、筆圧が強すぎたのでずれてしまったのだと思います。~ 解決策としてはペンの高さをきちんと揃えるプログラミングをあらかじめ作り、~ ペンの高さが一定になる所を精密に模索することが必要でした。