- 履歴一覧
- ソース を表示
- 2006b/A1/kuroneko/1st_robot1-1 は削除されています。
- 追加された行はこの色です。
- 削除された行はこの色です。
「井」の字です。
*勉強ノート1−1 [#j889ce26]
-文字書きロボットについて
名前の通り文字を書くロボットなのですが、調整が難しかったですね〜。まぁ、まずはプログラムを。
#define SWING 40 筆を上げ下げする時間です
task main()
{
OnFwd(OUT_B); 筆を下ろします
Wait(SWING);
Off(OUT_B);
Wait(50);
OnFwd(OUT_A+OUT_C); 1画目です
Wait(100);
Off(OUT_A+OUT_C);
Wait(50);
OnRev(OUT_B); 筆を上げます
Wait(SWING);
Off(OUT_B);
Wait(50);
OnRev(0UT_A); 2画目の開始点へ。
OnFwd(OUT_C); 回転してます
Wait(15);
OnRev(OUT_C); モーターCを逆回転にし、バックします
Wait(130);
OnFwd(OUT_A); モーターAを純回転にし、先ほどとは逆に回転します
Wait(15);
Off(OUT_A+OUT_C);
Wait(50);
OnFwd(OUT_B); 筆を下ろします
Wait(SWING);
Off(OUT_B);
Wait(50);
OnFwd(OUT_A+OUT_C); 2画目です
Wait(135); 1画目より長めにしてます
Off(OUT_A+OUT_C);
Wait(50);
OnRev(OUT_B); 筆を上げます
Wait(SWING);
Off(OUT_B);
Wait(50);
OnRev(OUT_A+OUT_C); 3画目の開始点へ
Wait(140);
OnFwd(OUT_A); 直角に回転します
Wait(82);
Off(OUT_A+OUT_C);
Wait(50);
OnFwd(OUT_B); 筆を下ろします
Wait(SWING);
Off(OUT_B);
Wait(50);
OnFwd(OUT_A+OUT_C); 3画目です
Wait(100);
Off(OUT_C+OUT_A);
Wait(50);
OnRev(OUT_B); 筆を上げます
Wait(SWING);
Off(OUT_B);
Wait(50);
OnFwd(OUT_A); 4画目の開始点へ
OnRev(OUT_C); 回転します
Wait(20);
OnRev(OUT_A);
Wait(130);
OnFwd(OUT_C);
Wait(20);
Off(OUT_A+OUT_C);
Wait(50);
OnFwd(OUT_B); 筆を下ろします
Wait(SWING);
Off(OUT_B);
Wait(50);
OnFwd(OUT_A+OUT_C); 4画目です
Wait(135); やっぱり3画目より長めです。
Off(OUT_A+OUT_C);
Wait(50);
OnRev(OUT_B); 最後に筆を上げて終わりです
Wait(SWING);
Off(OUT_B);
}
このプログラムは少し長さの違う平行線を直角にクロスさせたものです。
平行線の組の中で、長さを変えました。
直角を見つけるのはそれほど労せず、字が単純ということもあり、このプログラムは大変ではなかったですね。
-このプログラムのsub使用バージョンです。
[[2006b/A1/kuroneko/1st_robot1-2]]
-灰猫トップへはこちら。
[[2006b/A1/kuroneko]]