Задание
Выберите правильные варианты написания функции, с помощью которой робот сможет проехать на заданное расстояние величиной distance. Это расстояние не превышает длину окружности колеса робота радиусом R. В данном случае будет использован встроенный энкодер, подключенный вместе с левым мотором в первый порт. Причем, энкодер, как вы помните, измеряет угол поворота оси колеса величиной angle, размерностью которого в данном случае являются градусы. Левый мотор подключен в первый порт, правый мотор подключен в десятый порт.
int angle = 0;
void forward(int LeftMotor, int RightMotor, int angle)
{
nMotorEncoder[port1] = 0;
while(nMotorEncoder[port1] < angle)
{
motor[port1] = LeftMotor;
motor[port10] = RightMotor;
wait1Msec(30);
}
motor[port1] = 0;
motor[port10] = 0;
wait1Msec(30);
}
int angle = 0;
void moving(int LeftMotor, int RightMotor, int distance, int R)
{
nMotorEncoder[port1] = 0;
angle = (180*distance)/(3.14*R);
while(nMotorEncoder[port1] < angle)
{
motor[port1] = LeftMotor;
motor[port10] = RightMotor;
wait1Msec(30);
}
motor[port1] = 0;
motor[port10] = 0;
wait1Msec(30);
}
int angle = 0;
void moving(int LeftMotor, int RightMotor, int distance)
{
nMotorEncoder[port1] = 0;
while(nMotorEncoder[port1] < distance)
{
motor[port1] = LeftMotor;
motor[port10] = RightMotor;
wait1Msec(30);
}
motor[port1] = 0;
motor[port10] = 0;
wait1Msec(30);
}
int angle = 0
void moving(int LeftMotor, int RightMotor, int angle)
{
nMotorEncoder[port1] = 0
while(nMotorEncoder[port1] < angle)
{
motor[port1] = LeftMotor
motor[port10] = RightMotor
wait1Msec(30)
}
motor[port1] = 0
motor[port10] = 0
wait1Msec(30)
}
int angle = 0;
void moving(int LeftMotor, int RightMotor, int angle)
{
nMotorEncoder[port1] = 0;
while(nMotorEncoder[port1] > angle)
{
motor[port1] = LeftMotor;
motor[port10] = RightMotor;
wait1Msec(30);
}
motor[port1] = 0;
motor[port10] = 0;
wait1Msec(30);
}