 | Code: #pragma config(Hubs, S1, HTMotor, HTMotor, none, none) #pragma config(Hubs, S2, HTMotor, HTMotor, none, none) #pragma config(Hubs, S3, HTMotor, HTMotor, none, none) #pragma config(Hubs, S4, HTMotor, HTServo, none, none) #pragma config(Sensor, S1, , sensorI2CMuxController) #pragma config(Sensor, S2, , sensorI2CMuxController) #pragma config(Sensor, S3, , sensorI2CMuxController) #pragma config(Sensor, S4, , sensorI2CMuxController) #pragma config(Motor, mtr_S1_C1_1, motorA, tmotorTetrix, openLoop, encoder) #pragma config(Motor, mtr_S1_C1_2, motorB, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S1_C2_1, motorE, tmotorTetrix, openLoop, encoder) #pragma config(Motor, mtr_S1_C2_2, motorO, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S2_C1_1, motorC, tmotorTetrix, openLoop, encoder) #pragma config(Motor, mtr_S2_C1_2, motorD, tmotorTetrix, openLoop, encoder) #pragma config(Motor, mtr_S2_C2_1, motorJ, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S2_C2_2, drillMotor, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S3_C1_1, motorL, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S3_C1_2, motorM, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S3_C2_1, linearMotor1, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S3_C2_2, linearMotor2, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S4_C1_1, motorP, tmotorTetrix, openLoop) #pragma config(Motor, mtr_S4_C1_2, motorQ, tmotorTetrix, openLoop) #pragma config(Servo, srvo_S4_C2_1, servo1, tServoStandard) #pragma config(Servo, srvo_S4_C2_2, servo2, tServoStandard) #pragma config(Servo, srvo_S4_C2_3, servo3, tServoNone) #pragma config(Servo, srvo_S4_C2_4, servo4, tServoNone) #pragma config(Servo, srvo_S4_C2_5, servo5, tServoNone) #pragma config(Servo, srvo_S4_C2_6, servo6, tServoNone) //*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
///////////////////////////////////////////////////////////////////////////////////////////////////// // // Tele-Operation Mode Code Template // // This file contains a template for simplified creation of an tele-op program for an FTC // competition. // // You need to customize two functions with code unique to your specific robot. // /////////////////////////////////////////////////////////////////////////////////////////////////////
#include "JoystickDriver.c" //Include file to "handle" the Bluetooth messages.
///////////////////////////////////////////////////////////////////////////////////////////////////// // // initializeRobot // // Prior to the start of tele-op mode, you may want to perform some initialization on your robot // and the variables within your program. // // In most cases, you may not have to add any code to this function and it will remain "empty". // /////////////////////////////////////////////////////////////////////////////////////////////////////
void initializeRobot() { // Place code here to sinitialize servos to starting positions. // Sensors are automatically configured and setup by ROBOTC. They may need a brief time to stabilize.
return; }
///////////////////////////////////////////////////////////////////////////////////////////////////// //s // Main Task // // The following is the main code for the tele-op robot operation. Customize as appropriate for // your specific robot. // // Game controller / joystick information is sent periodically (about every 50 milliseconds) from // the FMS (Field Management System) to the robot. Most tele-op programs will follow the following // logic: // 1. Loop forever repeating the following actions: // 2. Get the latest game controller / joystick settings that have been received from the PC. // 3. Perform appropriate actions based on the joystick + buttons settings. This is usually a // simple action: // * Joystick values are usually directly translated into power levels for a motor or // position of a servo. // * Buttons are usually used to start/stop a motor or cause a servo to move to a specific // position. // 4. Repeat the loop. // // Your program needs to continuously loop because you need to continuously respond to changes in // the game controller settings. // // At the end of the tele-op period, the FMS will autonmatically abort (stop) execution of the program. // /////////////////////////////////////////////////////////////////////////////////////////////////////
task main() { initializeRobot();
// wait for start of tele-op phase
while (true) { getJoystickSettings(joystick); motor[motorA]=joystick.joy1_y2 * 100 / 127;//motor a moves with the second y toggle stick (leftside) motor[motorB]=joystick.joy1_y2 * 100 / 127;//motor b moves with the second y toggle stick as well(robot will go left or right)(lefttside) }
{ getJoystickSettings(joystick); motor[motorC]=joystick.joy1_y1 * 100/ 127; //motor c moves with the first y toggle stick(robot will go left or right)(rightside) motor[motorD]=joystick.joy1_y1 * 100 / 127;// motor D moves with the first y toggle stick if both sticks are moved at the same time they'll go in a uniform direction (rightside) }//this is the function for driving
while (true) getJoystickSettings(joystick); if(joy1Btn(4)==1)//button four controls the drill { motor[drillMotor]=100;//THIS IS THE CODE FOR THE DriLl } else {motor[drillMotor]=0;//drill remains off
} //this is the code for the dual fingers (servos will go 67 counts) { getJoystickSettings(joystick);//button 1 to close if(joy2Btn(1)==1) {
servo[servo1]=67; servo[servo2]=67; }
else
{ servo[servo1]=0; servo[servo2]=0;
}}
if(joy2Btn(2)==1) { servo[servo1]=-67;//button 2 to open servo[servo2]=-67; } else
{servo[servo1]=0; {servo[servo2]=0;}
{ getJoystickSettings(joystick); motor[linearMotor1]=joystick.joy2_y1 * 100/127; //These 2 motors are for the linear slides to go up and down. motor[linearMotor2]=joystick.joy2_y1 * 100/127; } { getJoystickSettings(joystick); //this motor is will be driving the pulley system. motor[motorJ]=joystick.joy2_y2 * 80/127; } } }
// Insert code to have servos and motors respond to joystick and button values.
// Look in the ROBOTC samples folder for programs that may be similar to what you want to perform. // You may be able to find "snippets" of code that are similar to the functions that you want to
// perform
|  |