[[ロボティクス入門ゼミ]]

*はじめてのプログラム [#wb70df6a]
四角に走るプログラム


 task main()
 {
    repeat(4){
  OnFwd(OUT_A);
  OnFwd(OUT_C);
  Wait(300);
  OnRev(OUT_C);
  Wait(83);
  }
   Off(OUT_A+OUT_C);  
   }


*『木』を書くプログラム [#b0e29fc3]
まだ本体を使って調整していないので試作段階です。


 task main()
 {
  OnFwd(OUT_B);
  Wait(100);
  OnFwd(OUT_A+OUT_C);
  Wait(300);
   OnRev(OUT_B);
   Wait(100);
   OnRev(OUT_A);
   Wait(125);
   OnFwd(OUT_A+OUT_C);
   Wait(214);
    OnRev(OUT_A);
    Wait(125);
    OnFwd(OUT_B);
    Wait(100);
    OnFwd(OUT_A+OUT_C);
    Wait(500);
     OnRev(OUT_B);
     Wait(100);
     OnRev(OUT_A+OUT_C);
     Wait(250);
      OnRev(OUT_A);
     Wait(125);
      OnFwd(OUT_B);
       Wait(100);
       OnFwd(OUT_A+OUT_C);
       Wait(300);
        OnRev(OUT_B);
        Wait(100);
        OnRev(OUT_A+OUT_C);
        Wait(300);
         OnRev(OUT_C);
         Wait(83);
         OnFwd(OUT_B);
         Wait(100);
         OnFwd(OUT_A+OUT_C);
         Wait(300);
         OnRev(OUT_B);
         Wait(100);
 Off(OUT_A+OUT_B+OUT_C);
 }


前回のものを実際に本体を使って試運転した結果、しっかりと動けてなかったので改良したものです。数値の調整は必要。

 #define pen_down OnFwd(OUT_B);Wait(100); //ペンを下げる
 #define pen_up OnRev(OUT_B);Wait(100); //ペンを上げる
 #define turn1 OnFwd(OUT_A);OnRev(OUT_C);Wait(85); //右旋回1
 #define turn2 OnFwd(OUT_A);OnRev(OUT_C);Wait(40); //右旋回2
 #define turn3 OnRev(OUT_A);OnFwd(OUT_C);Wait(70); //左旋回
 #define OUT1 Off(OUT_A+OUT_C); Wait(10); //タイヤのモーターを止める
 #define OUT2 Off(OUT_B);Wait(10); //ペンのモーターを止める
 task main()
 {
 pen_down;
 OUT2;
 OnFwd(OUT_A+OUT_C);
 Wait(150);
 OUT1;
 pen_up;
 OUT2;          //一画目
 
 OnRev(OUT_A+OUT_C);
 Wait(140);
 OUT1;
 turn1;
 OnRev(OUT_A+OUT_C);
 Wait(50);
 OUT1;         //二画目の始まりまで移動
      
 pen_down;
 OUT2;
 OnFwd(OUT_A+OUT_C);
 Wait(150);
 OUT1;   
 pen_up;
 OUT2;         //二画目
              
 OnRev(OUT_A+OUT_C);
 Wait(150);
 OUT1;            
 turn2;
 OUT1;              
 OnFwd(OUT_A+OUT_C);
 Wait(50);
 OUT1;        //三画目の始まりまで移動(後退・旋回)
                    
 pen_down;
 OUT2;                  
 OnFwd(OUT_A+OUT_C);
 Wait(200);
 OUT1;                
 pen_up;
 OUT2;        //三画目
                     
 OnRev(OUT_A+OUT_C);
 Wait(200);
 OUT1;  
 turn3;
 OUT1;
 OnFwd(OUT_A+OUT_C);
 Wait(50);
 OUT1;        //四画目の始まりまで移動(後退・旋回)
                         
 pen_down;
 OUT2;                 
 OnFwd(OUT_A+OUT_C);
 Wait(200);
 OUT1;
 pen_up;       //四画目
 Off(OUT_A+OUT_B+OUT_C);
 }

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