#contents *ロボット本体の説明 [#uac9b2b8] ペンを上げ下げする部分にモーターを一つ、紙面上を動き回るための車体部分にモーターを二つ使ってロボットを組み立てた。後輪部分には長い芯を使うことで、後輪が外れることを防いだ。また、ペン部分に支えをつけ、輪ゴムで縛ることにより、ペンがぶれるのを防いだ。 &ref(2017b/Member/kuwa/Mission1/IMG_2652.jpg,30%);&ref(2017b/Member/kuwa/Mission1/IMG_2650.jpg,30%); *プログラム「小出」 [#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] 電池の残量やモーターとのかみ合い方などにより、回転角度が不安定でプログラムの調整にてこずった。それに加えて、機体が動くのに合わせてペン先の位置も合わせなければならなかったので、そこの計算にとても苦労した。本番では納得のいく結果を出すことができて嬉しく思うと同時に達成感があった。