#pragma config(StandardModel, "RVW Anemobot")
task main()
{
//Reset the gyro sensor to remove any previous data
//Loop while the gyro sees a value less than 90 degrees.
while(getBumperValue(bumpSwitch) == 0) // Loop while robot's bumper/touch sensor isn't pressed in
{
setMotorSpeed(leftMotor, 50); //Set the leftMotor (motor1) to half power (50)
setMotorSpeed(rightMotor, 50.5); //Set the rightMotor (motor6) to half power (50)
}
{
setMotorSpeed(leftMotor, -50); //Set the leftMotor (motor1) to full power forward (127)
setMotorSpeed(rightMotor, -50); //Set the rightMotor (motor6) to full power reverse (-127)
sleep(500);
{
resetGyro(gyroSensor);
//Loop while the gyro sees a value less than 90 degrees.
while(getGyroDegrees(gyroSensor) < 267)
{
//Set the motors to turn to the left at 25% speed.
setMotorSpeed(leftMotor, -25);
setMotorSpeed(rightMotor, 25.5);
}
//Specifically stop the motor at the end to force the robot to come to a "Holding" stop.
setMotorSpeed(leftMotor, 0);
setMotorSpeed(rightMotor, 0);
sleep(1000); //wait 1 second for the robot to come to a complete stop.
}
while(getDistanceValue(distanceMM) > 240)
{
setMotorSpeed(leftMotor, 70); //Move left motor at 50% speed
setMotorSpeed(rightMotor, 70); //Move right motor at 50% speed
}
{
resetGyro(gyroSensor);
//Loop while the gyro sees a value less than 90 degrees.
while(getGyroDegrees(gyroSensor) < 267)
{
//Set the motors to turn to the left at 25% speed.
setMotorSpeed(leftMotor, -25);
setMotorSpeed(rightMotor, 25.5);
}
setMotorSpeed(leftMotor, 50);
setMotorSpeed(rightMotor, 50);
sleep(12000);
}
//While distance sensor is more than 100mm (10cm) away
/*while(getDistanceValue(distanceMM) > 240)
{
setMotorSpeed(leftMotor, 70); //Move left motor at 50% speed
setMotorSpeed(rightMotor, 70); //Move right motor at 50% speed
}
*/
}
}