課題1の目次 #contents *はじめに [#y9d70966] 今回は自分の漢字をロボットに書かせるという課題で今回私は新という文字を書きました *ロボット本体の説明 [#d004c7af] ** アーム [#d27a82c4] &ref(./WIN_20150604_200654.JPG,,30%); モーターの駆動によって回るギアにゴムでペンをくくりつけています ** ペンの上げ下げ [#k7de2e08] &ref(./WIN_20150604_200646.JPG,,30%); モーターのBとつなぎ逆回転で上がるように正回転で下がるようにしました。 *プログラムの説明 [#jef29d34] #define speed 35 #define go_left OnRev(OUT_C,70);OnFwd(OUT_A,70);Wait(250);Off(OUT_AC); #define go_left OnRev(OUT_C,70);OnFwd(OUT_A,70);Wait(250);Off(OUT_AC);//左と右に90度曲がること定義しました #define go_right OnRev(OUT_A,70);OnFwd(OUT_C,70);Wait(250);Off(OUT_AC); #define up OnRev(OUT_B,20);Wait(200);Off(OUT_B); #define up OnRev(OUT_B,20);Wait(200);Off(OUT_B);//ペンの上げ下げを定義しました #define down OnFwd(OUT_B,20);Wait(200);Off(OUT_B); #define go(t) OnFwd(OUT_AC,speed);Wait(t);Off(OUT_AC); #define back(t) OnRev(OUT_AC,speed);Wait(t);Off(OUT_AC); task main () { back(600); back(600);//まず、新の立の部分の上の横線を引きます Off(OUT_AC); up; go(350); Off(OUT_AC); OnRev(OUT_C,10);OnFwd(OUT_A,60);Wait(200); OnRev(OUT_C,10);OnFwd(OUT_A,60);Wait(200);//そして機械の左右のタイヤの速さを変えることによってロボット本体をスイングさせて立の左の縦線を描きます。 down; OnFwd(OUT_C,80);OnRev(OUT_A,10);Wait(200); up; go_left; go_left;//そしてコの字に回転させて go(50); go_left; Off(OUT_AC); go(200); Off(OUT_AC); back(400); back(400);//そして誤差を修正させ次に立の下の横線を描き down; back(800); Off(OUT_AC);up; go(600); OnRev(OUT_C,10);OnFwd(OUT_A,80);Wait(100); OnRev(OUT_C,10);OnFwd(OUT_A,80);Wait(100);//もう一回ロボットをスイングさせることにより立の右の縦線を書きます down; OnFwd(OUT_C,80);OnRev(OUT_A,10);Wait(100); Off(OUT_AC);up; back(200);go_left;go(600);back(300);down;back(500); Off(OUT_AC);up;back(500); Off(OUT_AC);down;OnRev(OUT_C,50);OnRev(OUT_A,60);Wait(450);up; go(300);go_left;down;back(300);up; go(200);OnRev(OUT_A,70);OnFwd(OUT_C,70);Wait(125); back(100);down;back(200); Off(OUT_AC);up;go(300); go_right;back(100);down;back(200);Off(OUT_AC);up; } *書き順 [#g4bc49d9] まず左と右に90度曲がりペンの上げ下げなどを定義しました すして書きはじめは新の立の部分の横線から書き始め そして、タイヤの左右の速さ変えることによってロボット本体を回転させて立の縦線の左を書きコの字に回転させて立の下の横線を書きそしてまた回転させて右の縦線を描きそして、誤差を修正させながら立の上の縦線を描きさらにペンを上げ下げしながら木の部分の縦線を描き また誤差を修正しながら木の右の払いを書き更に左の払いを下からバックで描きそしてそのまま新の右側の上の斜線をひきそして誤差を修正しながら右側を書き終わりです。 *できた作品 [#dd35044f] &ref(./WIN_20150604_194007.JPG,,30%); **工夫した点 [#v607291f] 新の立の部分を普通に描くのではなくロボットをスイングさせることによってロボットの動きを少なくして誤差があまりでないようにし更に、書き順を工夫することによってプログラミングの量をできるだけ少なくしました。 あと、マクロも多く使いました。 *改善点 [#jb905124] やはりペンの上げ下げだけでは曲がり角を合わせることが難しくアームの横移動をつけるべきだと感じました。