- 追加された行はこの色です。
- 削除された行はこの色です。
#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);//ぺんを下げる
以下のように定義し、「小出」のプログラムを効率よく書いた。
#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
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)
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(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)//中央縦線部分
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]
電池の残量やモーターとのかみ合い方などにより、回転角度が不安定でプログラムの調整にてこずった。それに加えて、機体が動くのに合わせてペン先の位置も合わせなければならなかったので、そこの計算にとても苦労した。本番では納得のいく結果を出すことができて嬉しく思うと同時に達成感があった。