- 追加された行はこの色です。
- 削除された行はこの色です。
#comtents
*ロボット [#b82d3931]
#contents
*課題1 [#z8387f9d]
・A4の紙に松本の大学生活を表す漢字1文字を書くロボットを制作する。
・7画以上の漢字であること。
・文字は15cm四方に収まる大きさにすること。
**選んだ漢字 [#o3b79c6b]
私はトヨタの社員になるという将来の夢の実現のために信州大学に入ったので「車」という字にしました。
*ロボットについて [#rba2b7d0]
**本体について [#ae3a0a9e]
私は本体の右がわに回転するアームをつけました。
**アーム部分について [#q11b7f8c]
筆ペンを使い回転するだけである程度長く線がかけるようにしました。
*プログラミングについて [#kb348121]
**書き順 [#v7057eda]
今回は特に書き順にはこだわらずに下の写真のような書き順で「車」を書いた。
**プログラム [#f53c3176]
***工夫した点 [#v7a4ad1b]
・右側にアームを付けたたため両側の車輪が同じ力で動こうとすると右に曲がってしまうので、右側の車輪の力だけ少しつよくした。
・本体は上下にしか動かさずアームを多動させることによって、全体のバランスが崩れる可能性を少なくさせました。
***モーターの説明 [#sc9b1d3d]
・回転させるモーターはA,B,Cの3つがあり、それぞれ
A:アームを回転させる。
B:右のタイヤを回転させる。
C:左のタイヤを回転させる。
***プログラムの説明 [#eab18fcf]
#define SPEED 25 //右のモーターの回転速度
#define SPEED2 20 //左のモーターの回転速度
#define TIME 500 //一画目を書く時間
#define TIME3 250 //一画目を書くためにアームを上げる時間
・一画目の横線を書くプログラム
sub RETURN()
{
OnFwd(OUT_A,SPEED);
Wait(TIME3);
OnRev(OUT_A,SPEED);
Wait(TIME);
Off(OUT_A);
}
・下に下がるプログラム
sub BACK(int time)
{
OnRev(OUT_B,SPEED);
OnRev(OUT_C,SPEED2);
Wait(time);
Off(OUT_BC);
}
・アームを左に動かすプログラム
sub LEFT(int time)
{
OnFwd(OUT_A,SPEED);
Wait(time);
Off(OUT_A);
}
・アームを右に動かすプログラム
sub RIGHT(int time)
{
OnRev(OUT_A,SPEED);
Wait(time);
Off(OUT_A);
}
・前に進むプログラム
sub STRAIGHT(int time)
{
OnFwd(OUT_B,SPEED);
OnFwd(OUT_C,SPEED2);
Wait(time);
Off(OUT_BC);
}
***書き出し [#ib204fea]
task main ()
{
一画目
RETURN();
2画目
BACK(500);
LEFT(500);
3画目
BACK(500);
RIGHT(500);
4画目
BACK(500);
LEFT(500);
5画目
BACK(500);
RIGHT(500);
6画目
STRAIGHT(2000);
LEFT(250);
BACK(2200);
7画目
STRAIGHT(500);
LEFT(100);
STRAIGHT(1000);
8画目
LEFT(700);
BACK(1000);
}
*まとめ [#m3bd8820]
**結果 [#cab1a41c]
上記のプログラムで「車」を書いた結果次の写真のようになった。
#ref(2017a/Member/takato/Mission1/IMG_5308.JPG,100%,結果)
**感想 [#a6323408]