diff --git a/Distance Slow Down b/Distance Slow Down new file mode 100644 index 0000000..fc3995b --- /dev/null +++ b/Distance Slow Down @@ -0,0 +1,43 @@ +#pragma config(Sensor, port3, bumper, sensorVexIQ_Touch) +#pragma config(Sensor, port4, distance, sensorVexIQ_Distance) +#pragma config(Sensor, port10, colour, sensorVexIQ_LED) +#pragma config(Motor, motor1, left, tmotorVexIQ, PIDControl, driveLeft, encoder) +#pragma config(Motor, motor6, right, tmotorVexIQ, PIDControl, reversed, driveRight, encoder) +//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// + +task main() +{ + while(true) + { + setMultipleMotors(100, left, right); + + while (getDistanceValue(distance) <= 400 && getDistanceValue(distance) > 300) + { + setMultipleMotors(50, left, right); + setTouchLEDColor(colour, colorRed); + } + + while (getDistanceValue(distance) <= 300 && getDistanceValue(distance) > 200) + { + setMultipleMotors(40, left, right); + setTouchLEDColor(colour, colorBlue); + } + + while (getDistanceValue(distance) <= 200 && getDistanceValue(distance) > 100) + { + setMultipleMotors(20, left, right); + setTouchLEDColor(colour, colorGreen); + } + while (getDistanceValue(distance) <= 100 && getDistanceValue(distance) > 50) + { + setMultipleMotors(10, left, right); + if (getBumperValue(bumper) == 1) + { + backward(180, degrees, -50); + turnLeft(240, degrees, 100); + setTouchLEDColor(colour, colorYellow); + } + } + + } +} diff --git a/Sorting b/Sorting new file mode 100644 index 0000000..a36c552 --- /dev/null +++ b/Sorting @@ -0,0 +1,34 @@ +#pragma config(Sensor, port3, colour, sensorVexIQ_Color12Color) +#pragma config(Motor, motor1, left, tmotorVexIQ, PIDControl, driveLeft, encoder) +#pragma config(Motor, motor6, right, tmotorVexIQ, PIDControl, reversed, driveRight, encoder) +#pragma config(Motor, motor10, lift, tmotorVexIQ, PIDControl, encoder) +#pragma config(Motor, motor11, claw, tmotorVexIQ, PIDControl, encoder) +//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// + +task main() +{ + while (true) + { + setMultipleMotors(50, left, right); + while (getColorName(colour) == colorRed) + { + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + turnLeft(275, degrees, 50); + forward(360, degrees, 50); + moveMotor(claw, 90, degrees, -50); + backward(360, degrees, -50); + turnRight(275, degrees, 50); + } + while (getColorName(colour) == colorGreen) + { + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + turnRight(275, degrees, 50); + forward(360, degrees, 50); + moveMotor(claw, 90, degrees, -50); + backward(360, degrees, -50); + turnLeft(275, degrees, 50); + } + } +} diff --git a/code b/code new file mode 100644 index 0000000..beb1d30 --- /dev/null +++ b/code @@ -0,0 +1,52 @@ +#pragma config(Sensor, port2, gyro_sensor, sensorVexIQ_Gyro) +#pragma config(Sensor, port3, bumper_sensor, sensorVexIQ_Touch) +#pragma config(Sensor, port4, colour_sensor, sensorVexIQ_Color12Color) +#pragma config(Sensor, port5, distance_sensor, sensorVexIQ_Distance) +#pragma config(Sensor, port7, touch_led, sensorVexIQ_LED) +#pragma config(Motor, motor1, left_motor, tmotorVexIQ, PIDControl, driveLeft, encoder) +#pragma config(Motor, motor6, right_motor, tmotorVexIQ, PIDControl, reversed, driveRight, encoder) +//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// + +task main() +{ + bool finish = true; + while (finish) + { + if (getTouchLEDValue(touch_led) == 1) + { + while (getTouchLEDValue(touch_led) == 0) + { + setMultipleMotors(75, left_motor, right_motor); + if (getColorName(colour_sensor) == colorRed) + { + finish = false; + } + if (getBumperValue(bumper_sensor) == 1) + { + if (getDistanceValue(distance_sensor) < 350) + { + backward(90,degrees, 50); + resetGyro(gyro_sensor); + while (getGyroDegrees(gyro_sensor) < 80) + { + setMotor(left_motor, -50); + setMotor(right_motor, 50); + } + stopAllMotors(); + } + else + { + backward(90,degrees, 50); + resetGyro(gyro_sensor); + while(getGyroDegrees(gyro_sensor) > -80) + { + setMotor(left_motor, 50); + setMotor(right_motor, -50); + } + stopAllMotors(); + } + } + } + } + } +} diff --git a/mazerunner b/mazerunner new file mode 100644 index 0000000..beb1d30 --- /dev/null +++ b/mazerunner @@ -0,0 +1,52 @@ +#pragma config(Sensor, port2, gyro_sensor, sensorVexIQ_Gyro) +#pragma config(Sensor, port3, bumper_sensor, sensorVexIQ_Touch) +#pragma config(Sensor, port4, colour_sensor, sensorVexIQ_Color12Color) +#pragma config(Sensor, port5, distance_sensor, sensorVexIQ_Distance) +#pragma config(Sensor, port7, touch_led, sensorVexIQ_LED) +#pragma config(Motor, motor1, left_motor, tmotorVexIQ, PIDControl, driveLeft, encoder) +#pragma config(Motor, motor6, right_motor, tmotorVexIQ, PIDControl, reversed, driveRight, encoder) +//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// + +task main() +{ + bool finish = true; + while (finish) + { + if (getTouchLEDValue(touch_led) == 1) + { + while (getTouchLEDValue(touch_led) == 0) + { + setMultipleMotors(75, left_motor, right_motor); + if (getColorName(colour_sensor) == colorRed) + { + finish = false; + } + if (getBumperValue(bumper_sensor) == 1) + { + if (getDistanceValue(distance_sensor) < 350) + { + backward(90,degrees, 50); + resetGyro(gyro_sensor); + while (getGyroDegrees(gyro_sensor) < 80) + { + setMotor(left_motor, -50); + setMotor(right_motor, 50); + } + stopAllMotors(); + } + else + { + backward(90,degrees, 50); + resetGyro(gyro_sensor); + while(getGyroDegrees(gyro_sensor) > -80) + { + setMotor(left_motor, 50); + setMotor(right_motor, -50); + } + stopAllMotors(); + } + } + } + } + } +} diff --git a/pseudo code b/pseudo code new file mode 100644 index 0000000..6e16914 --- /dev/null +++ b/pseudo code @@ -0,0 +1,60 @@ +#pragma config(Sensor, port3, colour, sensorVexIQ_Color12Color) +#pragma config(Sensor, port8, bumper, sensorVexIQ_Touch) +#pragma config(Motor, motor1, left, tmotorVexIQ, PIDControl, driveLeft, encoder) +#pragma config(Motor, motor6, right, tmotorVexIQ, PIDControl, reversed, driveRight, encoder) +#pragma config(Motor, motor10, lift, tmotorVexIQ, PIDControl, encoder) +#pragma config(Motor, motor11, claw, tmotorVexIQ, PIDControl, encoder) +//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// + +task main() +{ + int i = 0; + while(i != 4) + { + setMultipleMotors(50, left, right); + while(getColorName(colour) == colorRed) + { + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + turnLeft(275, degrees, 50); + moveMotor(lift, 3, rotations, 100); + forward(360, degrees, 50); + moveMotor(lift, 3, rotations, -100); + moveMotor(claw, 90, degrees, -50); + backward(360, degrees, -50); + turnRight(275, degrees, 50); + i++; + while(getBumperValue(bumper) == 0) + { + setMultipleMotors(-100, left, right); + } + while(getBumperValue(bumper) == 1) + { + setMultipleMotors(100,left, right); + } + } + while(getColorName(colour) == colorGreen) + { + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + turnRight(275, degrees, 50); + moveMotor(lift, 3, rotations, 100); + forward(360, degrees, 50); + moveMotor(lift, 3, rotations, -100); + moveMotor(claw, 90, degrees, -50); + backward(360, degrees, -50); + turnLeft(275, degrees, 50); + i++; + while(getBumperValue(bumper) == 0) + { + setMultipleMotors(-100, left, right); + } + while(getBumperValue(bumper) == 1) + { + setMultipleMotors(100,left, right); + } + } + + + } +} diff --git a/stack_fail b/stack_fail new file mode 100644 index 0000000..3e0f754 --- /dev/null +++ b/stack_fail @@ -0,0 +1,52 @@ +#pragma config(Sensor, port2, bumper, sensorVexIQ_Touch) +#pragma config(Sensor, port3, colour, sensorVexIQ_Color12Color) +#pragma config(Motor, motor1, left, tmotorVexIQ, PIDControl, driveLeft, encoder) +#pragma config(Motor, motor6, right, tmotorVexIQ, PIDControl, reversed, driveRight, encoder) +#pragma config(Motor, motor10, lift, tmotorVexIQ, PIDControl, encoder) +#pragma config(Motor, motor11, claw, tmotorVexIQ, PIDControl, encoder) +//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// + +task main() +{ + int count = 0; + while(count != 3) + { + setMultipleMotors(50, left, right); + while(count == 0) + { + while((getColorName(colour) == colorGreen)||(getColorName(colour) == colorRed)) + { + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + moveMotor(lift, 3, rotations, 50); + moveMotor(claw, 90, degrees, -50); + moveMotor(lift, 3, rotations, -50); + count+=1; + } + } + while(count == 1) + { + setMultipleMotors(50, left, right); + while((getColorName(colour) == colorGreen)||(getColorName(colour) == colorRed)) + { + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + moveMotor(lift, 2, rotations, 50); + count+=1; + } + } + while(count == 2) + { + setMultipleMotors(50, left, right); + if(getBumperValue(bumper) == 1) + { + moveMotor(lift, 1, rotations, -50); + moveMotor(claw, 90, degrees, -50); + moveMotor(lift, 2, rotations, 50); + moveMotor(claw, 90, degrees, 50); + moveMotor(lift, 3, rotations, -100); + count+=1; + } + } + } +} diff --git a/stackofficial b/stackofficial new file mode 100644 index 0000000..3b2bb28 --- /dev/null +++ b/stackofficial @@ -0,0 +1,89 @@ +#pragma config(Sensor, port2, bumper, sensorVexIQ_Touch) +#pragma config(Sensor, port3, colour, sensorVexIQ_Color12Color) +#pragma config(Motor, motor1, left, tmotorVexIQ, PIDControl, driveLeft, encoder) +#pragma config(Motor, motor6, right, tmotorVexIQ, PIDControl, reversed, driveRight, encoder) +#pragma config(Motor, motor10, lift, tmotorVexIQ, PIDControl, encoder) +#pragma config(Motor, motor11, claw, tmotorVexIQ, PIDControl, encoder) +//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// + + +void cubeHolder() +{ + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + moveMotor(lift, 3, rotations, 50); + moveMotor(claw, 90, degrees, -50); + moveMotor(lift, 3, rotations, -50); +} +void cubePickUp() +{ + forward(180, degrees, 50); + moveMotor(claw, 90, degrees, 50); + moveMotor(lift, 1, rotations, 50); +} +void cubeDrop() +{ + moveMotor(lift, 2, rotations, -50); + moveMotor(claw, 90, degrees, -50); +} +void cubeHolderDrop() +{ + moveMotor(lift, 3, rotations, 50); + moveMotor(claw, 90, degrees, 50); + moveMotor(lift, 3, rotations, -50); + moveMotor(claw, 90, degrees, -50); +} +void cubePushandStack() +{ + while (getBumperValue(bumper) == 1) + { + backward(1, rotations, 50); + cubeDrop(); + cubeHolderDrop(); + } +} + +void checkCubeColor() +{ + bool color; + while (color) + { + if (getColorName(colour) == colorGreen) + { + color = false; + } + if (getColorName(colour) == colorRed) + { + color = false; + stopAllMotors(); + } + } +} + +task main() +{ + int i = 0; + while (i != 3) + { + displayTextLine(1, "hello world"); + setMultipleMotors(50, left, right); + while (i == 0) + { + checkCubeColor(); + cubeHolder(); + i++; + } + while (i == 1) + { + checkCubeColor(); + cubePickUp(); + i++; + } + while (i == 2) + { + cubePushandStack(); + //checkCubeColor(); + i++; + } + } +}