- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006b/A3/課題1右]]
#contents
*プログラミング [#ubc5d8c7]
「林」という字を書くためのプログラムです。
task main()
{
Wait(100);
OnFwd(OUT_A+OUT_C); Wait(50);
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(60);
OnRev(OUT_C); Wait(77);
OnRev(OUT_A); Wait(120);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(120);
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(215);
OnRev(OUT_A); Wait(38);
OnRev(OUT_C); Wait(103);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(40);
Float(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(144);
OnRev(OUT_C); Wait(80);
OnRev(OUT_A); Wait(150);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(25);
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_C); OnRev(OUT_A); Wait(40);
OnFwd(OUT_A); Wait(140);
OnRev(OUT_A); Wait(77);
OnRev(OUT_C); Wait(180);
Off(OUT_A+OUT_C);
Wait(100); /少し待つ
OnFwd(OUT_A+OUT_C); Wait(50); /一画目
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250); /ペン上げる
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(60);
OnRev(OUT_C); Wait(77);
OnRev(OUT_A); Wait(120);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250); /ペン下げる
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(120); /二画目
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B); /ペン上げる
OnFwd(OUT_A+OUT_C); Wait(215); /交点まで移動
OnRev(OUT_A); Wait(38);
OnRev(OUT_C); Wait(103);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250); /ペン下げる
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(40); /三画目
Float(OUT_A+OUT_C); /滑らかにはらう
OnFwd(OUT_B); Wait(250); /ペン上げる
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(144); /再び交点へ
OnRev(OUT_C); Wait(80);
OnRev(OUT_A); Wait(150);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250); /ペン下げる
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(25); /四画目
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250); /ペン上げる
Off(OUT_B);
OnFwd(OUT_C); OnRev(OUT_A); Wait(40); /二つ目の「木」へ
OnFwd(OUT_A); Wait(140);
OnRev(OUT_A); Wait(77);
OnRev(OUT_C); Wait(180);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(50);
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(50);
OnRev(OUT_C); Wait(77);
OnRev(OUT_A); Wait(110);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(120);
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(210);
OnRev(OUT_A); Wait(40);
OnRev(OUT_C); Wait(100);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(33);
Float(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(140);
OnRev(OUT_C); Wait(80);
OnRev(OUT_A); Wait(147);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250);
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(40);
Float(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250);
Off(OUT_B);
}
OnRev(OUT_B); Wait(250); /ペン下げる
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(50); /五画目
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250); /ペン上げる
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(50);
OnRev(OUT_C); Wait(77);
OnRev(OUT_A); Wait(110);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250); /ペン下げる
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(120); /六画目
Off(OUT_A+OUT_C);
OnFwd(OUT_B); Wait(250); /ペン上げる
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(210); /交点に向かう
OnRev(OUT_A); Wait(40);
OnRev(OUT_C); Wait(100);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250); /ペン下げる
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(33); /七画目
Float(OUT_A+OUT_C); /滑らかにはらう
OnFwd(OUT_B); Wait(250); /ペン上げる
Off(OUT_B);
OnFwd(OUT_A+OUT_C); Wait(140); /交点へ戻る
OnRev(OUT_C); Wait(80);
OnRev(OUT_A); Wait(147);
Off(OUT_A+OUT_C);
OnRev(OUT_B); Wait(250); /ペン下げる
Off(OUT_B);
OnRev(OUT_A+OUT_C); Wait(40); /ラスト八画目
Float(OUT_A+OUT_C); /滑らかにはらう
OnFwd(OUT_B); Wait(250); /ペン上げて終了
Off(OUT_B);
}
以上「林」を書くためのプログラムでした。長かった〜。
*苦労した点 [#ef8508c9]
始めからどういうふうに書こうか悩みました。僕らのロボットは本体より少し先の方で字を書くので回転すると位置が全く違うところにペン先がいってしまうのでそのことも考えてプログラムを作らなければなりませんでした。また、「林」では交点が存在するのでうまく重なるように何度もプログラムの数値を入れ直して試さなければいけなかったのでとても大変でした。
*工夫した点 [#r2b54ce3]
最初にスイッチを押すと本体が浮いてしまい一画目が書けなくなるので少し待たせることでうまく問題を解消しました。
そしてロボットに書かせた字はこちらです。少しずれてしまった所もありますが、「林」に見えるので結果良しです。
#ref(2006b/A3/ナオ 課題1/hayasi.jpg)
プログラムやホームページに対するコメントをお願いします。
#comment