*勉強ノート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);
 }
このプログラムは少し長さの違う平行線を直角にクロスさせたものです。

平行線の組の中で、長さを変えました。

直角を見つけるのはそれほど労せず、字が単純ということもあり、このプログラムは大変ではなかったですね。


[[2006b/A1/kuroneko/1st_robot1-2]]
このプログラムのsub使用バージョンです。

[[2006b/A1/kuroneko]]
灰猫トップへはこちら。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS