📄 function_2009.c~
字号:
if (curve_position==0x01)
if(i>=10)
{
if((ls2)|(ls1)) break;
}
}
break;
case 0x02:
Vleft=220;
Vright=320;
for(i=1;i<=temp;i++)
{
begin_get_encoder();
while(enc <100)
{
enc =(abs(left_data) + abs(right_data))>>1;
};
LED=(enc*i)/10;
enc =0;
if (curve_position==0x01)
if(i>=10)
{
if((rs1)|(ls1)) break;
}
}
break;
case 0x03:
Vleft=270 ; //260//270 OK ca 2 bo thong so
Vright=310; //290//300
break;
case 0x04: //cua qua 2 cot
Vleft=310; //310
Vright=290; //200 OK
break;
case 0x05:
/*
Vleft=300; //270
Vright=200; //260 chay thang
*/
Vleft=275;
Vright=270;
break;
/*********************
BLUE FIELD
*********************/
case 0x06: //goc cua 1
Vleft=220;
Vright=320;
for(i=1;i<=temp;i++)
{
begin_get_encoder();
while(enc <100)
{
enc =(abs(left_data) + abs(right_data))>>1;
};
LED=(enc*i)/10;
enc =0;
if (curve_position==0x01)
if(i>=10)
{
if((rs1)|(ls1)) break;
}
}
break;
case 0x07:
break;
case 0x08:
break;
default :
break;
}
}
void turn_RIGHT_line(void)
{
begin_get_encoder();
while(left_data <8000)
{
Vleft=300;
Vright=50;
start=0;
while(!start){;}
}
while((!rs3))
{
Vleft=300;
Vright=50;
start=0;
while(!start){;}
} //rs2
stop();
}
void turn_LEFT_line(void)
{
begin_get_encoder();
while(right_data <8000)
{
Vright=300;
Vleft=50;
start=0;
while(!start){;}
}
while((!ls3))
{
Vright=300;
Vleft=50;
start=0;
while(!start){;}
} //rs2
stop();
}
void turn_left(char arg)
{
int enc;
switch(arg)
{
case 50:
begin_get_encoder();
while(enc <1600)
{
Vleft=-100;
Vright=200;
enc = right_data;
LED=enc ;
};
break;
case 30:
begin_get_encoder();
while(enc <1100)
{
Vleft=-100;
Vright=200;
enc =right_data;
LED=(enc)/10;
};
break;
case 45:
begin_get_encoder();
while(enc <1400)
{
Vleft=-100;
Vright=200;
enc =right_data;
LED=(enc)/10;
};
break;
case 60:
stop();
begin_get_encoder();
while(enc <2900)
{
Vleft=-60;
Vright=300;
enc =right_data;
LED=(enc)/10;
};
break;
}
}
void turn_right(char arg)
{
int enc;
switch(arg)
{
case 0:
begin_get_encoder();
while(enc <1700)
{
Vleft=200;
Vright=-100;
enc =(abs(left_data) + abs(right_data))>>1;
LED=enc/10 ;//(enc*i)/10;
//decide where to stop
if((enc>1000)&& (ls4)) break;
};
break;
case 30:
begin_get_encoder();
while(enc <1100)
{
Vleft=200;
Vright=-100;
enc =left_data;
LED=enc/10;
};
break;
case 45:
begin_get_encoder();
while(enc <1400)
{
Vleft=200;
Vright=-100;
enc = left_data ;
LED=enc/10;
};
break;
case 60:
stop();
begin_get_encoder();
while(enc <2900) //2500
{
Vleft=300;
Vright=-60;
enc =left_data;
LED=enc/10;
};
break;
}
}
/******************************************
MODE 2_1:
******************************************/
void MODE_MOVING_BLUE(void)
{
//
take_the_kago(400); //
moving_forward(400,10,at_line,stand,qua_doc_X);
elevator(0);
begin_get_encoder();
while(left_data<23000)
{
Vleft=370;
Vright =200;
}
begin_get_encoder();
while(left_data<23000)
{
Vleft=370;
Vright =200;
}
stop();
while(flag_90 !=3)
{
Vleft=500;//470
Vright=200;//240
LED=5555;
}
stop();
moving_forward_qua_rung(470,6,at_line,running,qua_rung_X);
elevator(1);
}
////////////////////////////////////////
void MODE_RETRY_CHKPOINT_1_B(void)
{
line_numb=2;//set here to plus 1 line
moving_forward(400,10,at_line,stand,qua_doc_X);
elevator(0);
begin_get_encoder();
while(left_data<23000)
{
Vleft=370;
Vright =200;
}
begin_get_encoder();
while(left_data<23000)
{
Vleft=370;
Vright =200;
}
stop();
while(flag_90 !=3)
{
Vleft=500;//470
Vright=200;//240
LED=5555;
}
stop();
moving_forward_qua_rung(420,6,at_line,running,qua_rung_X);
elevator(1);
}
void MODE_RETRY_CHKPOINT_2_B(void)
{
moving_forward_qua_rung(420,7,at_line,running,qua_rung_X);
elevator(1);
}
/******************************************
MODE 3_1:
******************************************/
/******************************************
MODE 3_2:
******************************************/
void MODE_MOVING_RED(void) //RUNNING in RED field MODE 4-1
{
char dem=0,strectch_time=140;
Vleft=0;
Vright=0;
//delay_ms(200);
count=0;
while(count<120)
{
if(Vleft>=250) Vleft=250;
if(Vright>=250) Vright=250;
else
{
++dem ;
if(dem >= strectch_time)
{
Vleft +=1;
Vright +=1;
dem=0;
}
}
}
take_the_kago(400); //
moving_forward(400,10,at_line,stand,qua_doc_X);
elevator(0);
begin_get_encoder();
while(right_data<23000)
{
Vleft=240;
Vright =370;
LED= left_data;
}
begin_get_encoder();
while(right_data<23000)
{
Vleft=240;
Vright =370;
LED= left_data;
}
//stop();
while(flag_90 !=3)
{
Vleft=240;//470
Vright=500;//240
LED=5555;
}
//stop();
moving_forward_qua_rung(470,6,at_line,running,qua_rung_X);
elevator(1);
}
void MODE_RETRY_CHKPOINT_1_R(void)
{
line_numb=2;//set here to plus 1 line
moving_forward(400,10,at_line,stand,qua_doc_X);
elevator(0);
begin_get_encoder();
while(right_data<23000)
{
Vleft=240;
Vright =370;
LED= left_data;
}
begin_get_encoder();
while(right_data<23000)
{
Vleft=240;
Vright =370;
LED= left_data;
}
//stop();
while(flag_90 !=3)
{
Vleft=240;//470
Vright=500;//240
LED=5555;
}
//stop();
moving_forward_qua_rung(470,6,at_line,running,qua_rung_X);
elevator(1);
}
void MODE_RETRY_CHKPOINT_2_R(void)
{
moving_forward_qua_rung(470,7,at_line,running,qua_rung_X);
elevator(1);
}
/*****************************************
MODE 4_1:
******************************************/
void MODE_4_1(void)
{
//char dem,stretch_time=70;
Vleft=300;
Vright=300;
}
/*****************************************
MODE 4_2:
******************************************/
void MODE_4_2(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -