- 追加された行はこの色です。
- 削除された行はこの色です。
[[2019a/Member]]
*もくじ [#w40d017d]
#contents
*課題について [#c26ba89f]
私たちは、日本の象徴富士山のふもとで、同じ漢字が使われている富士市の「富士」を選んだ。
*ロボットについて[#ucc2c5b2]
写真はこちら
#ref(./A2597C89-8B38-484D-B0D5-22FE1545982D.jpeg,30%)
#ref(./C38DE172-2173-459E-AF9A-2718AD9A4016.jpeg,30%)
#ref(./34ACB9ED-C067-491D-AB9E-77825E410478.jpeg,30%)
今回のロボットはモーターをもう一つ付けて、それによりタイヤ2つでペンを挟むことによってタイヤを回すのと同時にペンを上下に動かすというシンプルな作りだが、余りのモーター一つで複数の歯車を歯車同士の幅を調節するのがとても難しく、組み立てだけに予想以上の時間を費やしてしまった。
*プログラムについて [#jab9c848]
**マクロ [#d489d94b]
***基本的な動作 [#wa6723e6]
#define turn_right OnFwd(OUT_A);OnRev(OUT_C);Wait(88);
#define turn_left OnFwd(OUT_C);OnRev(OUT_A);Wait(88);
#define go_straight OnFwd(OUT_AC);
#define back OnRev(OUT_AC);
***その他の動作 [#a37fcb38]
#define down OnFwd(OUT_B);Wait(20);Off(OUT_B);
#define up OnRev(OUT_B);Wait(20);Off(OUT_B);
#define freez Off(OUT_AC);Wait(30)
**メインプログラム [#c9f30bea]
task main()
{
go_straight;Wait(15);
freez;
up;
turn_right;
go_straight;Wait(35);
turn_left;
freez;
down;
go_straight;Wait(15);
freez;
up;
go_straight;Wait(53);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(70);
freez;
up;
go_straight;Wait(68);
turn_right;
back;Wait(68);
freez;
down;
go_straight;Wait(15);
freez;
up;
go_straight;Wait(70);
turn_right;
back;Wait(48);
freez;
down;
go_straight;Wait(35);
freez;
up;
go_straight;Wait(68);
turn_left;
back;Wait(54);
freez;
down;
go_straight;Wait(15);
freez;
up;
go_straight;Wait(68);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(35);
freez;
up;
go_straight;Wait(68);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(15);
freez;
up;
go_straight;Wait(68);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(35);
freez;
up;
go_straight;Wait(86);
turn_left;
back;Wait(44);
freez;
down;
go_straight;Wait(35);
freez;
up;
go_straight;Wait(68);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(70);
freez;
up;
go_straight;Wait(68);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(35);
freez;
up;
go_straight;Wait(68);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(70);
freez;
up;
go_straight;Wait(33);
turn_left;
back;Wait(68);
freez;
down;
go_straight;Wait(35);
freez;
up;
go_straight;Wait(49);
turn_right;
back;Wait(107);
freez;
down;
go_straight;Wait(70);
freez;
up;
go_straight;Wait(33);
turn_left;
back;Wait(13);
freez;
down;
go_straight;Wait(80);
freez;
up;
go_straight;Wait(68);
turn_right;
back;Wait(88);
freez;
down;
go_straight;Wait(40);
freez;
up;
go_straight;Wait(88);
turn_right;
go_straight;Wait(34);
turn_right;
freez;
down;
go_straight;Wait(80);
freez;
up;
}
今回選んだ漢字は、基本的に曲がった線や斜め線を必要としないため、曲がる角度を90度に統一して、回転に関してはすべて同じ時間で設定することができ、その点楽にプログラミングすることができたのだが、紙の上ということもあり誤差が生じてしまいずれては戻りの繰り返しだった。
*まとめ [#i6026c41]
写真はこちら
#ref(./EBC8AE34-5EB2-4DB2-8BD5-BBA0EFADC42B.jpeg,30%)
きれいに書けはしたが、ところどころ出力か摩擦(?)かに微妙なズレがあり線が薄くなってしまった。
それでも、全体としては良く書けてよかった。