Задание
Выберите правильные варианты написания функции, с помощью которой робот сможет проехать на заданное расстояние величиной distance. Это расстояние не превышает длину окружности колеса робота радиусом R. В данном случае будет использован встроенный энкодер, подключенный вместе с левым мотором в первый порт. Причем, энкодер, как вы помните, измеряет угол поворота оси колеса величиной angle, размерностью которого в данном случае являются градусы. Левый мотор подключен в первый порт, правый мотор подключен в десятый порт.
\[не удалось загрузить изображение\]
- int angle = 0;
void forward\(int LeftMotor, int RightMotor, int angle\)
{
nMotorEncoder\[port1\]= 0;
while\(nMotorEncoder⟨1⟩ \\lt 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⟨1⟩ \\lt 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⟨1⟩ \\lt 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⟨1⟩ \\lt 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⟨1⟩ \\gt angle\)
{
motor\[port1\]= LeftMotor;
motor\[port10\]= RightMotor;
wait1Msec\(30\);
}
motor\[port1\]= 0;
motor\[port10\]= 0;
wait1Msec\(30\);
}