[[2005/A6/コンドの部屋]]

*『左』を書くロボット [#b195dec6]
*『左』を書くロボットのプログラム [#ye6ce03f]
 『左』を書くロボット
 製作者:コンド
 製作日:05年11月8日
 キャタピラ仕様で、アームでペンを上下させるロボットのプログラムです。

**数の定義 [#p27f9dff]
**数の定義 [#madedd06]
 #define move_time 20          // アームの上げ、下げの時間
 #define Move_time 110         // ロボットの中心とペン先との誤差修正の時間

**補助プログラム [#z0c96ff4]
**補助プログラム [#u06d4038]
 void turn_right(int x)        // 右回転のためのプログラム
 {
     OnRev(OUT_A); OnFwd(OUT_C);
     Wait(x); Off(OUT_A+OUT_C);
 }

 void turn_left(int y)         // 左回転のためのプログラム
 {
     OnRev(OUT_C); OnFwd(OUT_A);
     Wait(y); Off(OUT_A+OUT_C);
 }
 
 void go_straight(int z)       // 直進のためのプログラム
 {
     OnFwd(OUT_A+OUT_C); Wait(z);
     Off(OUT_A+OUT_C);
 }

 void back(int w)              // 後退のためのプログラム
 {
     OnRev(OUT_A+OUT_C); Wait(w);
     Off(OUT_A+OUT_C);
 }

 void right(int t)             // 二画目の右曲線のためのプログラム
 {
     Off(OUT_A); OnFwd(OUT_C);
     Wait(t); Off(OUT_C);
 }
 
 void up()                     // アームを上げるプログラム
 {
     OnFwd(OUT_B); Wait(move_time);
     Off(OUT_B);
 }

 void down()                   // アームを下げるプログラム
 {
     OnRev(OUT_B); Wait(move_time);
     Off(OUT_B);
 }

**メインのプログラム [#nc6854b8]
**メインのプログラム [#j18f2d34]
 task main()                   
 {
     down();                   // 一画目、書き始め
     go_straight(177);         // 一画目の直線を書く
     up();                     // 一画目、書き終わり
     back(10);                 // 後ろに移動
     turn_right(159);          // 右に回転
     back(153);                // 二画目の書き始めに移動
     down();                   // 二画目、書き始め
      repeat(8){               // 二画目の右曲線を書く
         go_straight(15);
         right(11);
         }
     up();                     // 二画目、書き終わり
     turn_right(292);          // 右に回転
     back(54);                 // 三画目の始めに移動
     turn_right(170);          // 右に回転
     back(Move_time);          // 誤差修正
     down();                   // 三画目、書き始め
     go_straight(119);         // 三画目の直線
     up();                     // 三画目、書き終わり
     go_straight(65);          // 四画目の始めに移動
     turn_right(159);          // 右に回転
     back(Move_time);          // 誤差修正
     down();                   // 四画目、書き始め
     go_straight(98);          // 四画目の直線
     up();                     // 四画目、書き終わり
     go_straight(Move_time);   // 誤差修正
     turn_left(140);           // 左に回転
     back(235);                // 五画目の書き始めに移動
     down();                   // 画目、書き始め
     go_straight(180);         // 五画目の直線を書く
     up();                     // 五画目、書き終わり
     go_straight(130);         // ロボットが退場して終了
 }

*反省点 [#v8cb9cce]
*反省点 [#jcdab262]
 ・キャタピラ仕様のため、文字が波文字になってしまった。
 ・『ナ』と『エ』の接点がずれてしまった。
 ・プログラミング、ロボットの形が決まるまで時間が掛かってしまった。

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS