ロボティクス入門ゼミ

ご自由に使ってください。

robotto1

int t;

sub line_straight() {

 
 PlaySound(SOUND_DOUBLE_BEEP) ;
OnRev(OUT_A+OUT_C);
Wait(50);
OnRev(OUT_A+OUT_C);
while(SENSOR_1>35||SENSOR_2>45)
{
   if(SENSOR_1>35&&SENSOR_2>45)
   {
      OnRev(OUT_A+OUT_C);
   }
   if(SENSOR_1<35&&SENSOR_2>45)
   {
      OnRev(OUT_C);Off(OUT_A);
   }
   if(SENSOR_1>35&&SENSOR_2<45)
   {
      OnRev(OUT_A);Off(OUT_C);
   }
}
Off(OUT_A+OUT_C);
Wait(50);

}

sub line_back() {

 PlaySound(SOUND_DOUBLE_BEEP) ;
OnFwd(OUT_A+OUT_C);
until(SENSOR_1>35&&SENSOR_2>45);
Off(OUT_A+OUT_C);
Wait(50);

}

sub go_straight() {

 PlaySound(SOUND_LOW_BEEP) ;
OnRev(OUT_A+OUT_C);Wait(200);
OnRev(OUT_C);OnRev(OUT_A);Wait(10);
OnRev(OUT_A+OUT_C);
until(SENSOR_1<35&&SENSOR_2<45);
Off(OUT_A+OUT_C);
Wait(50);

}

sub goal() {

 PlaySound(SOUND_FAST_UP) ;
 OnRev(OUT_A+OUT_B+OUT_C);
Wait(50);
OnRev(OUT_A+OUT_B+OUT_C);
while(SENSOR_3==0)
{
   if(SENSOR_1>35&&SENSOR_2>45)
   {
      OnRev(OUT_A+OUT_B+OUT_C);
   }
   if(SENSOR_1<35&&SENSOR_2>45)
   {
      OnRev(OUT_B+OUT_C);Off(OUT_A);
   }
   if(SENSOR_1>35&&SENSOR_2<45)
   {
      OnRev(OUT_A+OUT_B);Off(OUT_C);
   }
}
Off(OUT_A+OUT_B+OUT_C);

}

#define turn_left(t) PlaySound(SOUND_UP) ;OnRev(OUT_A+OUT_C);Wait(50);OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);Wait(50);

#define turn_right(t) PlaySound(SOUND_UP) ;OnRev(OUT_A+OUT_C);Wait(50);OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);Wait(50);

task main() {

SetPower(OUT_A,9);
SetPower(OUT_C,5);
SetSensor (SENSOR_1, SENSOR_LIGHT);
SetSensor (SENSOR_3, SENSOR_TOUCH);
SetSensor (SENSOR_2, SENSOR_LIGHT);
PlaySound(SOUND_LOW_BEEP) ;
OnRev(OUT_A+OUT_C);
until(SENSOR_1<35&&SENSOR_2<45);
Off(OUT_A+OUT_C);
Wait(50);
repeat (1)
{
  line_straight ();
  turn_right(130);
  line_straight();
  line_straight();
  turn_right(130);
  OnRev(OUT_B);
  line_straight();
   OnRev(OUT_A+OUT_C);
   Wait(50);  
  Off(OUT_A+OUT_B+OUT_C);
  Wait(50);
  OnFwd(OUT_B);
  Wait(50);
  Off(OUT_B);  
  line_back ();
  turn_right(200);
  line_straight();
  line_straight();
  turn_left(140);
  line_straight();
  go_straight();
  line_straight();
  turn_left(140);
  line_straight();
  line_straight();
  turn_left(140);
  goal();
  line_back ();
  turn_left(100);
  line_straight();
  line_straight();
  turn_right (130);
  line_straight();
  go_straight();
}

}

ロボ2

int t;

sub line_straight() {

 
 PlaySound(SOUND_DOUBLE_BEEP) ;
OnRev(OUT_A+OUT_C);
Wait(50);
OnRev(OUT_A+OUT_C);
while(SENSOR_1>40||SENSOR_2>45)
{
   if(SENSOR_1>40&&SENSOR_2>45)
   {
      OnRev(OUT_A+OUT_C);
   }
   if(SENSOR_1<40&&SENSOR_2>45)
   {
      OnRev(OUT_C);Off(OUT_A);
   }
   if(SENSOR_1>40&&SENSOR_2<45)
   {
      OnRev(OUT_A);Off(OUT_C);
   }
}
Off(OUT_A+OUT_C);
Wait(50);

}

sub line_back() {

 PlaySound(SOUND_DOUBLE_BEEP) ;
OnFwd(OUT_A+OUT_C);
until(SENSOR_1>40&&SENSOR_2>45);
Off(OUT_A+OUT_C);
Wait(50);

}

#define turn_right(t) PlaySound(SOUND_UP) ;OnRev(OUT_A+OUT_C);Wait(50);OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);Wait(50);

task main() {

SetPower(OUT_A,2);
SetPower(OUT_C,10);
SetSensor (SENSOR_1, SENSOR_LIGHT);
SetSensor (SENSOR_3, SENSOR_TOUCH);
SetSensor (SENSOR_2, SENSOR_LIGHT);
ClearMessage();
PlaySound(SOUND_LOW_BEEP) ;
OnRev(OUT_A+OUT_C);
until(SENSOR_1<40&&SENSOR_2<40);
Off(OUT_A+OUT_C);
Wait(50);
line_straight ();
turn_right(100);
line_straight();
line_straight();
turn_right(100);
OnFwd(OUT_A+OUT_C);
Wait(300);
Off(OUT_A+OUT_C);
Wait(200);
//until (Message()==1);
line_straight();
OnFwd(OUT_B);
Wait(300);
Off(OUT_B);
line_straight();
OnRev(OUT_A+OUT_C);
Wait(50);
Off(OUT_A+OUT_C);
OnRev(OUT_B);
Wait(500);
Off(OUT_B);
OnRev(OUT_A+OUT_C);
Wait(50);
Off(OUT_A+OUT_C);
OnFwd(OUT_B);Wait(700);
Off(OUT_B);
line_back(); 
OnRev(OUT_B);
OnFwd(OUT_A+OUT_C);
Wait(300);
Off(OUT_A+OUT_B+OUT_C);
 

}

ろぼ3

int t;

sub line_straight(){

PlaySound(SOUND_DOUBLE_BEEP);

OnRev(OUT_A+OUT_C); Wait(50); OnRev(OUT_A+OUT_C); while(SENSOR_1>40||SENSOR_2>45) {

  if(SENSOR_1>40&&SENSOR_2>45)
  {
     OnRev(OUT_A+OUT_C);
  }
  if(SENSOR_1<40&&SENSOR_2>45)
  {
     OnRev(OUT_C);Off(OUT_A);
  }
  if(SENSOR_1>40&&SENSOR_2<45)
  {
     OnRev(OUT_A);Off(OUT_C);
  }

} Off(OUT_A+OUT_C); Wait(50);

}

sub line_back() {

PlaySound(SOUND_DOUBLE_BEEP) ;

OnFwd(OUT_A+OUT_C); until(SENSOR_1>40&&SENSOR_2>45); Off(OUT_A+OUT_C); Wait(50);

}

#define turn_right(t) PlaySound(SOUND_UP) ;OnRev(OUT_A+OUT_C);Wait(50);OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);Wait(50);

task main() {

SetPower(OUT_A,2); SetPower(OUT_C,10); SetSensor (SENSOR_1, SENSOR_LIGHT); SetSensor (SENSOR_3, SENSOR_TOUCH); SetSensor (SENSOR_2, SENSOR_LIGHT); ClearMessage(); PlaySound(SOUND_LOW_BEEP) ; OnRev(OUT_A+OUT_C); until(SENSOR_1<40&&SENSOR_2<40); Off(OUT_A+OUT_C); Wait(50); line_straight(); turn_right(100); line_straight(); line_straight(); turn_right(100); OnFwd(OUT_A+OUT_C); Wait(120); Off(OUT_A+OUT_C); Wait(200); line_straight(); OnFwd(OUT_B); Wait(300); Off(OUT_B);

line_straight(); OnRev(OUT_A+OUT_C); Wait(30); Off(OUT_A+OUT_C);

OnRev(OUT_B); Wait(500); Off(OUT_B);

OnRev(OUT_A+OUT_C); Wait(30); Off(OUT_A+OUT_C);

OnFwd(OUT_B);Wait(700); Off(OUT_B);

line_back(); OnRev(OUT_B); OnFwd(OUT_A+OUT_C); Wait(300); Off(OUT_A+OUT_B+OUT_C);

}

8/2

robo2

int t;

sub line_straight(){

PlaySound(SOUND_DOUBLE_BEEP);

OnRev(OUT_A+OUT_C); Wait(50); OnRev(OUT_A+OUT_C); while(SENSOR_1>40||SENSOR_2>45) {

 if(SENSOR_1>40&&SENSOR_2>45)
 {
    OnRev(OUT_A+OUT_C);
 }
 if(SENSOR_1<40&&SENSOR_2>45)
 {
    OnRev(OUT_C);Off(OUT_A);
 }
 if(SENSOR_1>40&&SENSOR_2<45)
 {
    OnRev(OUT_A);Off(OUT_C);
 }

} Off(OUT_A+OUT_C); Wait(50);

}

sub line_back() {

PlaySound(SOUND_DOUBLE_BEEP) ;

OnFwd(OUT_A+OUT_C); until(SENSOR_1>40&&SENSOR_2>45); Off(OUT_A+OUT_C); Wait(50);

}

#define turn_right(t) PlaySound(SOUND_UP) ;OnRev(OUT_A+OUT_C);Wait(50);OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);Wait(50);

task main() {

SetPower(OUT_A,6); SetPower(OUT_C,10); SetSensor (SENSOR_1, SENSOR_LIGHT); SetSensor (SENSOR_3, SENSOR_TOUCH); SetSensor (SENSOR_2, SENSOR_LIGHT); ClearMessage(); PlaySound(SOUND_LOW_BEEP) ; OnRev(OUT_A+OUT_C); until(SENSOR_1<40&&SENSOR_2<40); Off(OUT_A+OUT_C); Wait(50); line_straight(); turn_right(120); line_straight(); line_straight(); turn_right(140); OnFwd(OUT_A+OUT_C); Wait(120); Off(OUT_A+OUT_C); SendMessage(1);

Wait(200);//until(Message==2);
line_straight(); 

line_straight();OnRev(OUT_B); Wait(500); Off(OUT_B);

OnRev(OUT_A+OUT_C); Wait(80); Off(OUT_A+OUT_C);

OnFwd(OUT_B);Wait(450); Off(OUT_B); OnFwd(OUT_C);OnRev(OUT_A);Wait(140);OnFwd(OUT_A);OnRev(OUT_C);Wait(70);Off(OUT_A+OUT_C);Wait(50);

OnRev(OUT_B);Wait(100);Off(OUT_B);line_back();OnFwd(OUT_B);Wait(100);Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(300); Off(OUT_A+OUT_C);ClearMessage(); Wait(200);//until(Message==2); line_straight(); turn_right(240); OnRev(OUT_B);Wait(350);Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(150); Off(OUT_A+OUT_C); OnFwd(OUT_B); Wait(700); OnRev(OUT_B); Wait(350); line_straight(); ClearTimer(1); OnRev(OUT_A+OUT_C); Wait(300); Off(OUT_A+OUT_C);

}

robo1

t t;

sub line_straight() {

 
 PlaySound(SOUND_DOUBLE_BEEP) ;
OnRev(OUT_A+OUT_C);
Wait(50);
OnRev(OUT_A+OUT_C);
while(SENSOR_1>35||SENSOR_2>45)
{
   if(SENSOR_1>35&&SENSOR_2>45)
   {
      OnRev(OUT_A+OUT_C);
   }
   if(SENSOR_1<35&&SENSOR_2>45)
   {
      OnRev(OUT_C);Off(OUT_A);
   }
   if(SENSOR_1>35&&SENSOR_2<45)
   {
      OnRev(OUT_A);Off(OUT_C);
   }
}
Off(OUT_A+OUT_C);
Wait(50);

}

sub line_back() {

 PlaySound(SOUND_DOUBLE_BEEP) ;
OnFwd(OUT_A+OUT_C);
Wait(290);
Off(OUT_A+OUT_C);
Wait(50);

}

sub go_straight() {

 PlaySound(SOUND_LOW_BEEP) ;
OnFwd(OUT_C);OnRev(OUT_A);Wait(10);
OnFwd(OUT_A);OnRev(OUT_C);Wait(10);
OnRev(OUT_A+OUT_C);Wait(50);
OnRev(OUT_A+OUT_C);
until(SENSOR_1<35&&SENSOR_2<45);
Off(OUT_A+OUT_C);
Wait(50);

}

sub goal() {

 PlaySound(SOUND_FAST_UP) ;
 OnRev(OUT_A+OUT_B+OUT_C);
Wait(50);
OnRev(OUT_A+OUT_B+OUT_C);
while(SENSOR_3==0)
{
   if(SENSOR_1>35&&SENSOR_2>45)
   {
      OnRev(OUT_A+OUT_B+OUT_C);
   }
   if(SENSOR_1<35&&SENSOR_2>45)
   {
      OnRev(OUT_B+OUT_C);Off(OUT_A);
   }
   if(SENSOR_1>35&&SENSOR_2<45)
   {
      OnRev(OUT_A+OUT_B);Off(OUT_C);
   }
}
Off(OUT_A+OUT_B+OUT_C);

}

#define turn_left(t) PlaySound(SOUND_UP) ;OnRev(OUT_A+OUT_C);Wait(50);OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);OnFwd(OUT_C);OnRev(OUT_A);Wait(10);OnFwd(OUT_A);OnRev(OUT_C);Wait(10);Off(OUT_A+OUT_C);Wait(50);

#define turn_right(t) PlaySound(SOUND_UP) ;OnRev(OUT_A+OUT_C);Wait(50);OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);OnFwd(OUT_C);OnRev(OUT_A);Wait(10);OnFwd(OUT_A);OnRev(OUT_C);Wait(10);Off(OUT_A+OUT_C);Wait(50);

task main() {

SetPower(OUT_A,6);
SetPower(OUT_C,5);
SetSensor (SENSOR_1, SENSOR_LIGHT);
SetSensor (SENSOR_3, SENSOR_TOUCH);
SetSensor (SENSOR_2, SENSOR_LIGHT);
PlaySound(SOUND_LOW_BEEP) ;
OnRev(OUT_A+OUT_C);
until(SENSOR_1<35&&SENSOR_2<45);
Off(OUT_A+OUT_C);
Wait(50);//until(Message==1);
repeat (3)
{
  line_straight ();
  turn_right(120);
  line_straight();
  line_straight();
  turn_right(120);
  OnRev(OUT_B);
  line_straight();
  OnRev(OUT_A+OUT_C);
  Wait(50);  
  Off(OUT_A+OUT_B+OUT_C);
  Wait(50);
  OnFwd(OUT_B);
  Wait(50);
  Off(OUT_B);  
  line_back ();
  turn_right(150);
  line_straight();
  line_straight();
  turn_left(150);
  OnFwd(OUT_A+OUT_C);
  Wait(150);
  Off(OUT_A+OUT_C);
  OnRev(OUT_C);OnFwd(OUT_A);Wait(30);OnRev(OUT_A);OnFwd(OUT_C);Wait(30);Off(OUT_A+OUT_C);
  line_straight();
  line_straight();
  SendMessage(2);
  go_straight();
  line_straight();
  turn_left(190);
  line_straight();
  line_straight();
  turn_left(190);
  goal();
  OnFwd(OUT_A+OUT_C);
  Wait(200);
  Off(OUT_A+OUT_C);
  turn_left(100);
  line_straight();
  line_straight();
  turn_right (130);
  OnFwd(OUT_A+OUT_C);
  Wait(120);
  Off(OUT_A+OUT_C);
  line_straight();
  line_straight();
  go_straight();
}

}


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-02 (水) 12:45:24