2005/B5/課題1

目次

プログラム

作成日:11月9日
作成者:Dezz

#define turn_TIME 104           //回転時間(変更可能)

sub turn_left()                 //左
{
 OnRev(OUT_A);OnFwd(OUT_C);      
 Wait(turn_TIME);Off(OUT_A+OUT_C);Wait(50);
}

sub turn_right()                //右
{
 OnFwd(OUT_A);OnRev(OUT_C);
 Wait(turn_TIME);Off(OUT_A+OUT_C);Wait(50);
}

sub Lgo_straight()              //Long直線
{
 OnFwd(OUT_A);OnFwd(OUT_C);
 Wait(80);Off(OUT_A+OUT_C);Wait(50);
}

sub Sgo_straight()              //Short直線
{
 OnFwd(OUT_A);OnFwd(OUT_C);
 Wait(60);Off(OUT_A+OUT_C);Wait(50);
}

sub up()                        //上げ
{
 OnRev(OUT_B);
 Wait(10);Off(OUT_B);Wait(50);
}

sub down()                      //下げ
{
 OnFwd(OUT_B);
 Wait(15);Off(OUT_B);Wait(50);  //下げる時間を上げる時間より長く
}                               //することで確実に地面につく

task main()
{
  up();                         //ペンを取り込む
  down();                       //ペンを降ろす
  
  SetPower(OUT_A,7);            //パワーを変更
  OnFwd(OUT_A);
  SetPower(OUT_C,0);            //パワーを変更
  OnFwd(OUT_C);
  Wait(180);
  Off(OUT_A+OUT_C);Wait(50);up();//曲線を描く
  
  SetPower(OUT_A,7);            //パワーを戻す
  SetPower(OUT_C,7);            //パワーを戻す
  OnFwd(OUT_A);OnRev(OUT_C);
  Wait(180);Off(OUT_A+OUT_C);
  OnFwd(OUT_A);OnFwd(OUT_C);Wait(100);Off(OUT_A+OUT_C);
  turn_right();
  
  down();
  OnFwd(OUT_A);OnFwd(OUT_C);Wait(150);Off(OUT_A+OUT_C);
  up();
  
  turn_right();
  OnFwd(OUT_A);OnFwd(OUT_C);Wait(50);Off(OUT_A+OUT_C);
  turn_right();
  OnFwd(OUT_A);OnFwd(OUT_C);
  Wait(120);Off(OUT_A+OUT_C);Wait(50);
  turn_left();
  
  OnRev(OUT_A);OnRev(OUT_C);      //微調整
  Wait(10);Off(OUT_A+OUT_C);
  down();Sgo_straight();up();
  
  OnRev(OUT_A);OnRev(OUT_C);Wait(60);
  Off(OUT_A+OUT_C);Wait(50);
  turn_left();
  
  down();
  Lgo_straight();turn_right();Sgo_straight();
  up();
  
  turn_right();Lgo_straight();
  
  down();
  OnRev(OUT_A);OnRev(OUT_C);Wait(80);Off(OUT_A+OUT_C);
  up();
 }

ロボについて

プログラムについて

コメントをどうぞ



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-12-16 (金) 17:58:21