*漢字の『右』を書く;書道ロボット(課題1) [#eb39bce2]
 #define PEN_TIME 10    //ペンを動かす時間
 
 sub pen_down()         //ペンの下ろす動作
 {
     OnFwd(OUT_B);      //Bモータ前回転     
     Wait(PEN_TIME);    //0.1秒待つ
     Float(OUT_B);       //Bモータ静かに停止   
 }
 
 sub pen_up()           //ペンを上げる動作
 {
     OnRev(OUT_B);      //Bモータ後回転
     Wait(PEN_TIME);    //0.1秒待つ
     Float(OUT_B);      //Bモータ静かに停止  
 }
 
 task main() 
 {                                //一画目
     PlaySound(SOUND_CLICK) ;     //音を出す
     pen_down();                  //ペンを下ろす動作 
     Wait(20);                    //0.2秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(10);                    //0.1秒待つ
     repeat(35){                  //35回繰り返し
         OnRev(OUT_C);            //Cモータ後回転
	 Wait(1);                 //0.01秒待つ
         OnFwd(OUT_C);            //Cモータ前回転
	 Wait(3);                 //0.03秒待つ
     }
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(10);                    //0.1秒待つ
     pen_up();                    //ペンを上げる動作
     Wait(10);                    //0.1秒待つ
     OnRev(OUT_C);                //Cモータ後回転
     OnFwd(OUT_A);                //Aモータ前回転
     Wait(220);                   //2.2秒待つ
     OnFwd(OUT_C);                //Cモータ前回転
     Wait(120);                   //1.2秒待つ
     OnRev(OUT_C);                //Cモータ前回転
     Wait(147);                   //1.47秒待つ
     OnRev(OUT_A);                //Aモータ後回転
     Wait(100);                   //1秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(20);                    //0.2秒待つ
                                  //二画目
     pen_down();                  //ペンを下ろす動作
     Wait(PEN_TIME);              //0.1秒待つ 
     OnFwd(OUT_A+OUT_C);          //A,C両モータ前回転
     Wait(100);                   //1秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(10);                    //0.1秒待つ
     pen_up();                    //ペンを上げる動作
     Wait(10);                    //0.1秒待つ
     OnRev(OUT_A+OUT_C);          //A、C両モータ後回転
     Wait(60);                    //0.6秒待つ
     OnFwd(OUT_A);                //Aモータ前回転
     OnRev(OUT_C);                //Cモータ後回転
     Wait(147);                   //1.47秒待つ
     OnRev(OUT_A);                //Aモータ後回転
     Wait(100);                   //1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(25);                    //0.25秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(20);                    //0.2秒待つ
                                  //3画目
     pen_down();                  //ペンを下ろす動作
     Wait(PEN_TIME);              //0.1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(45);                    //0.45秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(10);                    //0.1秒待つ
     pen_up();                    //ペンを上げる動作
     Wait(10);                    //0.1秒待つ
     OnRev(OUT_A+OUT_C);          //A、C両モータ後回転
     Wait(45);                    //0.45秒待つ
     OnRev(OUT_A);                //Aモータ後回転
     OnFwd(OUT_C);                //Cモータ前回転
     Wait(147);                   //1.47秒待つ
     Rev(OUT_A+OUT_C);            //A、C両モータ後回転
     Wait(100);                   //1秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止 
     Wait(20);                    //0.2秒待つ
                                  //4画目
     pen_down();                  //ペンを下ろす動作
     Wait(PEN_TIME);              //0.1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(60);                    //0.6秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(10);                    //0.1秒待つ
     pen_up();                    //ペンを上げる動作
     Wait(10);                    //0.1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(100);                   //1秒待つ
     OnRev(OUT_C);                //Cモータ後回転
     Wait(147);                   //1.47秒待つ
     OnRev(OUT_A+OUT_C);          //A、C両モータ後回転
     Wait(100);                   //1秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(20);                    //0.2秒待つ
     pen_down();                  //ペンを下ろす動作
     Wait(PEN_TIME);              //0.1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(45);                    //0.45秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(10);                    //0.1秒待つ
     pen_up();                    //ペンを上げる動作
     Wait(10);                    //0.1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(100);                   //1秒待つ
     OnRev(OUT_A);                //Aモータ後回転
     Wait(147);                   //1.47秒待つ
     OnRev(OUT_A+OUT_C);          //A、C両モータ後回転
     Wait(160);                   //1.6秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(20);                    //0.2秒待つ
                                  //5画目
     pen_down();                  //ペンを下ろす動作
     Wait(10);                    //0.1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(60);                    //0.6秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     Wait(10);                    //0.1秒待つ
     pen_up();                    //ペンを上げる動作
     Wait(10);                    //0.1秒待つ
     OnFwd(OUT_A+OUT_C);          //A、C両モータ前回転
     Wait(100);                   //1秒待つ
     Float(OUT_A+OUT_C);          //A、C両モータ静かに停止
     PlaySound(SOUND_FAST_UP) ;   //音を鳴らす
 }
-感想
   思っていたよりもとても難しくて考えていたようなものは出来なかった。『右』
  という漢字が出来上がらなかった。これから学んでいって良いものを作れるよう
  にしたいと思った。
-プログラム中のコメント文は / ではなくて // で始めます。また入門期を過ぎたころなので、すべての行にコメントを書くのではなくて説明の必要なところだけに留めておいたほうが逆にわかりやすい説明になると思います。 -- [[松本(教員)]] &new{2005-11-30 (水) 09:33:54};

#comment
[[2005/C2/キャベツ]]



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