漢字の『右』を書く;書道ロボット(課題1)

#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) ;   //音を鳴らす
}
  • 感想
      思っていたよりもとても難しくて考えていたようなものは出来なかった。『右』
     という漢字が出来上がらなかった。これから学んでいって良いものを作れるよう
     にしたいと思った。
  • プログラム中のコメント文は / ではなくて // で始めます。また入門期を過ぎたころなので、すべての行にコメントを書くのではなくて説明の必要なところだけに留めておいたほうが逆にわかりやすい説明になると思います。 -- 松本(教員)? 2005-11-30 (水) 09:33:54

2005/C2/キャベツ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-11-30 (水) 16:42:52