Задание
Выберите правильные варианты написания функции, с помощью которой робот сможет развернуться на месте налево на длину дуги, равной distance. Радиус колеса равен R. Левый мотор подключен в первый порт, правый мотор подключен в десятый порт. В данном случае будет использован оптический энкодер, подключенный в первый цифровой порт. Энкодер, как вы помните, измеряет угол поворота оси колеса величиной angle, размерностью которого в данном случае являются градусы.
\[не удалось загрузить изображение\]
- int angle = 0;
void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
{
angle = \(180\*distance\)/\(3\.14\*R\);
while\(SensorValue⟨1⟩ \\lt angle\)
{
motor\[port1\]= -LeftMotor;
motor\[port10\]= RightMotor;
wait1Msec\(30\);
}
motor\[port1\]= 0;
motor\[port10\]= 0;
wait1Msec\(30\);
} - int angle = 0;
int encoder = 0;
void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
{
angle = \(180\*distance\)/\(3\.14\*R\);
while\(encoder \\lt angle\)
{
motor\[port1\]= -LeftMotor;
motor\[port10\]= RightMotor;
wait1Msec\(30\);
encoder = SensorValue\[dgtl1\];
}
motor\[port1\]= 0;
motor\[port10\]= 0;
wait1Msec\(30\);
} - void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
{
angle = \(180\*distance\)/\(3\.14\*R\);
while\(encoder \\lt angle\)
{
motor\[port1\]= -LeftMotor;
motor\[port10\]= RightMotor;
wait1Msec\(30\);
encoder = SensorValue\[dgtl1\];
}
motor\[port1\]= 0;
motor\[port10\]= 0;
wait1Msec\(30\);
} - int angle = 0;
void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
{
angle = \(180\*distance\)/\(3\.14\*R\);
while\(SensorValue⟨1⟩ \\lt angle\)
{
motor\[port1\]= LeftMotor;
motor\[port10\]= -RightMotor;
wait1Msec\(30\);
}
motor\[port1\]= 0;
motor\[port10\]= 0;
wait1Msec\(30\);
} - int angle = 0;
void rotate\(int LeftMotor, int RightMotor, int distance, int R\)
{
while\(SensorValue⟨1⟩ \\lt distance\)
{
motor\[port1\]= -LeftMotor;
motor\[port10\]= RightMotor;
wait1Msec\(30\);
}
motor\[port1\]= 0;
motor\[port10\]= 0;
wait1Msec\(30\);
}