Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ringodin/b8c44c0ef2343869dc007e255d0bea58 to your computer and use it in GitHub Desktop.
Save ringodin/b8c44c0ef2343869dc007e255d0bea58 to your computer and use it in GitHub Desktop.
robot drives forward infinitely, but if a wall is detected, it backs up and turns.
#pragma config(Sensor, port4, distanceSensor, sensorVexIQ_Distance)
#pragma config(Motor, motor1, leftMotor, tmotorVexIQ, openLoop, encoder)
#pragma config(Motor, motor6, rightMotor, tmotorVexIQ, openLoop, reversed, encoder)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
/*------------------------------------------------------------------------------------------------
Move forward until the VEX IQ Distance Sensors sees an object 100 millimeters (mm) away. The VEX
IQ Distance Sensor returns values in millimeters.
ROBOT CONFIGURATION: VEX IQ Clawbot
MOTORS & SENSORS:
[I/O Port] [Name] [Type] [Info]
Port 7 distanceSensor VEX IQ Distance Distance Sensor (returns mm)
Port 1 leftMotor VEX IQ Motor Left side motor
Port 6 rightMotor VEX IQ Motor Right side motor (reversed)
------------------------------------------------------------------------------------------------*/
task main()
{
while(true)
{
if(getDistanceValue(distanceSensor) > 50)
{
setMotorSpeed(leftMotor, -50); //Move left motor at 50% speed
setMotorSpeed(rightMotor, -50); //Move right motor at 50% speed
}
else
{ setMotorSpeed(leftMotor, 0);
setMotorSpeed(rightMotor, 0);
sleep(500); //stop
resetMotorEncoder(leftMotor);
resetMotorEncoder(rightMotor);
moveMotorTarget(leftMotor, 500, 50);
moveMotorTarget(rightMotor, 500, 50);
waitUntilMotorStop(leftMotor);
waitUntilMotorStop(rightMotor); //backup
sleep(500);
resetMotorEncoder(leftMotor);
resetMotorEncoder(rightMotor);
moveMotorTarget(leftMotor, -200, -50);
moveMotorTarget(rightMotor, 200, 50);
waitUntilMotorStop(leftMotor);
waitUntilMotorStop(rightMotor); //turn right
sleep(500);
}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment