Я хочу сделать код, который начинается с ударного переключателя, движется вперед, ударяет что-то, движется назад, поворачивается вокруг (никакой особой степени не требуется, но я собирался примерно на 180) и продолжает двигаться вперед в этом направлении, пока не достигнетчто-то еще раз (следуя этой петле бесконечно). Мой код работал нормально до тех пор, пока я использовал USB-кабель для подключения компьютера к коре робота в течение всего времени выполнения кода.
Хотя для моего проекта мне нужно загрузить его на компьютер с компьютера, отключить его и заставить работать независимо от компьютера (он этого не сделает, вместо этого он движется вперед, нажимаетwall, a движется назад перед полной остановкой, игнорируя тот факт, что мой код требует, чтобы он развернулся и повторил код). Я предпочел бы, чтобы код не был решен для меня, и, скорее, если вы могли бы, найти какие-либо проблемы в моем ранее существующем коде и попытаться сохранить его на моем уровне квалификации и понимания?
Это для робота VexПроект, мне нужно, чтобы робот начал с нажатия на ударный переключатель (есть 2, но работает только touchSensor, а не touchSensor2), двигайтесь вперед до тех пор, пока он не соприкоснется с чем-то вроде стены (которая снова нажимает на переключатель), до того, какдвигаться назад, поворачиваться и продолжать движение, пока оно не соприкоснется с другой вещью (это должно быть в непрерывном цикле).
Я уже пробовал проверять ошибки в кодировании и ошибки перехода между использованием "Vexnet илиUSB "to" USB only "(на RobotC), но я не нашел ни одного, и никто в моей группе, похоже, тоже не знает, что делать.
#pragma config(Sensor, dgtl6, touchSensor, sensorTouch)
#pragma config(Sensor, dgtl10, touchSensor2, sensorTouch)
#pragma config(Motor, port2, rightMotor,
tmotorServoContinuousRotation, openLoop, reversed)
#pragma config(Motor, port3, leftMotor,
tmotorServoContinuousRotation, openLoop)
task main()
{
bool Go;
Go=true;
while(Go == true)
{
wait1Msec(400);
while(SensorValue(touchSensor) == 1)
{
motor[rightMotor] = 63;
motor[leftMotor] = 63;
wait1Msec(400);
while(SensorValue(touchSensor) == 0)
{
motor[rightMotor] = 63;
motor[leftMotor] = 63;
}
while(SensorValue(touchSensor) == 1)
{
motor[rightMotor] = -127;
motor[leftMotor] = -127;
}
wait1Msec(750);
if(SensorValue(touchSensor) == 0)
{
motor[rightMotor] = 63;
motor[leftMotor] = -63;
wait1Msec(1825);
motor[rightMotor] = 63;
motor[leftMotor] = 63;
wait1Msec(750);
}
}
}
}
Я ожидаю, что я смогу загрузитькод моего робота Vex, и он будет проходить через весь код, который должен повторяться в непрерывном цикле.