#contents *ロボット本体の説明 [#uac9b2b8] ペンを上げ下げする部分にモーターを一つ、紙面上を動き回るための車体部分にモーターを二つ使ってロボットを組み立てた。後輪部分には長い芯を使うことで、後輪が外れることを防いだ。また、ペン部分に支えをつけ、輪ゴムで縛ることにより、ペンがぶれるのを防いだ。 &ref(2017b/Member/kuwa/Mission1/IMG_2652.jpg,30%);&ref(2017b/Member/kuwa/Mission1/IMG_2650.jpg,30%);&ref(2017b/Member/kuwa/Mission1/image1.JPG,110%);&ref(2017b/Member/kuwa/Mission1/image2.JPG,110%); *プログラム「小出」 [#n23781f2] 以下のように定義し、「小出」のプログラムを効率よく書いた。 #define turn_L OnFwd(OUT_A);OnRev(OUT_C);Wait(88);Off(OUT_AC);Wait(50);//左回転 #define turn_R OnFwd(OUT_C);OnRev(OUT_A);Wait(95);Off(OUT_AC);Wait(50);//右回転 #define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);Wait(50);//前進 #define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);Wait(50);//後退 #define up OnFwd(OUT_B);Wait(10);Off(OUT_B);Wait(50);//ペンを上げる #define down OnRev(OUT_B);Wait(7);Off(OUT_B);Wait(50);//ぺんを下げる **プログラム(小) [#i9ed8ea2] task main () { go(37);//1画目(左側縦線) up; go(200); turn_L; turn_L; back(30); down; go(90);//2画目(中央縦線) up; go(210); turn_R; go(60); turn_R; go(25); down; go(37);//3画目(右縦線) up; } **プログラム(出) [#r34eb7a8] task main () { go(30);//位置合わせ(小からのつなぎ部分) go(30);//右上部分 down; go(30); up; go(20); down; go(30);//右下部分 up; go(120); turn_R; back(90); down; go(80);//下横線部分 up; go(110); turn_R; back(95); down go(30);//左下部分 up; go(20); down; go(30);//左上部分 up; go(90); turn_R; back(90); down; go(80);//上横線部分 up; go(70); turn_R; back(140); down; go(90);//中央縦線部分 } *実行結果 [#if78c293] &ref(2017b/Member/kuwa/Mission1/IMG_2649.jpg,30%); 「出」の最後の縦線が少し上に来てしまったが、しっかりと「小出」の二文字を書くことができた。 *反省と感想 [#uc03cdd0] 電池の残量やモーターとのかみ合い方などにより、回転角度が不安定でプログラムの調整にてこずった。それに加えて、機体が動くのに合わせてペン先の位置も合わせなければならなかったので、そこの計算にとても苦労した。本番では納得のいく結果を出すことができて嬉しく思うと同時に達成感があった。