2015-04-25 1 views
0
#pragma config(StandardModel, "RVW SQUAREBOT") 

task main(){ 
int begindistance = SensorValue[sonarSensor]; 
while (SensorValue[gyro] < 900){ 

motor[leftMotor] = 20; 
motor[rightMotor] = -20; 
} 
motor[leftMotor] = 0; 
motor[rightMotor] = 0; 

SensorValue[leftEncoder] = 0; 
SensorValue[rightEncoder] = 0; 

while (SensorValue[sonarSensor] > 25){ 
motor[leftMotor] = 50; 
motor[rightMotor] =50; 
} 

SensorValue[gyro] = 0; 

int z = 180 - atan(begindistance/SensorValue[leftEncoder]); 
while (SensorValue[gyro] > -z){ 
motor[leftMotor] = -31; 
motor[rightMotor] = 31; 
} 
motor[leftMotor] = 0; 
motor[rightMotor] = 0; 
} 

кстати начинаются расстояние 178, я не знаю, почему робот над поворотом, лишь на немного, но я не знаю, почему. im также используя квадрат. Я использую программу robocci. и я использую привязку для начала расстояния.радиус поворота неточна робота является inaccuarate

+0

У меня есть программа для работы с использованием другой программы, но мой новый вопрос в том, почему я не могу получить значение датчика гироскопа до нуля? – MSG2

+0

, что является основной причиной, по которой моя предыдущая программа не работала. – MSG2

ответ

0

Датчик гироскопа не всегда начинается с нуля. Вам нужно сохранить начальное значение в переменной и найти разницу между считанным значением и начальным значением.

Гиродатчик также только для чтения, так что это заявление

SensorValue[gyro] = 0; 

не будет работать.

Смежные вопросы