[[2016b/Member]]

* プログラム [#z19848e4]
#define mid 49 // 閾値
#define cuvright() Off(OUT_AC);OnFwd(OUT_A);
#define cuvleft() Off(OUT_AC);OnFwd(OUT_C);

#define turnright() Off(OUT_AC);OnFwd(OUT_A);OnRev(OUT_C);
#define turnleft() Off(OUT_AC);OnFwd(OUT_C);OnRev(OUT_A);

#define cls Off(OUT_ABC);SetPower(OUT_B,2);OnFwd(OUT_B);Wait(15);Off(OUT_B); // ハサミ閉じ
#define opn Off(OUT_ABC);SetPower(OUT_B,2);OnRev(OUT_B);Wait(15);Off(OUT_B); // ハサミ開け

#define clag SetPower(OUT_B,2);OnFwd(OUT_B);Wait(5);Off(OUT_B); // ハサミ閉めなおし
#define opnf SetPower(OUT_B,2);OnRev(OUT_B);Wait(15);Off(OUT_B); // ラストのハサミ開け

task main()
{

SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);

int i=0;
int c=0;
int t=0; //tは時間、cはカウント
int a=0;
int b=0;

while(c<=6){

while(FastTimer(0)<=24){
OnFwd(OUT_AC);
ClearTimer(0);
ClearTimer(1);

if(SENSOR_2>mid+3){
turnright()

until(SENSOR_2<=mid-3);
Off(OUT_AC);

ClearTimer(0);
}

else if(SENSOR_2>mid+1){


cuvright()
b=FastTimer(1)+1;
until(SENSOR_2<=mid-3);
Off(OUT_AC);

ClearTimer(0);
}

else if(SENSOR_2>=mid){ClearTimer(0);}

else if(SENSOR_2>mid-4){
ClearTimer(0);

cuvleft()
until(SENSOR_2>=mid+3);
Off(OUT_AC);




}

else {
turnleft()
ClearTimer(0);

until(SENSOR_2>=mid+4);
Off(OUT_AC);
}


}

t=FastTimer(0);
turnright();
Wait(t);

if(c==0){
Off(OUT_ABC);
Wait(100);

turnright();
Wait(40);
OnFwd(OUT_AC);
Wait(25);

c=c+1;
ClearTimer(0);}

else if(c==1){
Off(OUT_ABC);
Wait(100);

turnleft();
Wait(10);
OnFwd(OUT_AC);
Wait(50);
cls;

c=c+1;
ClearTimer(0);}

else if(c==2){
Off(OUT_ABC);
Wait(100);

turnleft();
Wait(5);
OnFwd(OUT_AC);
Wait(50);
c=c+1;
ClearTimer(0);

}

else if(c==3){
OnFwd(OUT_AC);
clag;
Wait(40);


turnright();
Wait(50);

until(SENSOR_2>=mid-4);
Off(OUT_AC);
c=c+1;
ClearTimer(0);
}

else if(c==4){
Off(OUT_ABC);
Wait(100);

turnleft();
Wait(5);
OnFwd(OUT_AC);
Wait(50);
c=c+1;
ClearTimer(0);
}

else if(c==5){
OnFwd(OUT_AC);
clag;
Wait(40);

turnright();

until(SENSOR_2>=mid-4);
Off(OUT_AC);
c=c+1;
ClearTimer(0);
}

else if(c==6){
turnleft();
Wait(10);

OnRev(OUT_AC);
Wait(70);
OnFwd(OUT_AC);
Wait(60);
opnf;


c=c+1;
ClearTimer(0);
Off(OUT_ABC);

}


}

}

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