When starting to program with VEXcode IQ, Controller blocks will not appear in the Toolbox until a Controller has been configured.
Note: If you have a Controller configured, you must have a Controller paired with your VEX IQ Brain for your project to run.
Adding a Controller
To configure a Controller, select the Devices icon to open the Devices window.
Select “Add a device.”
Select "Controller."
If you want to program the Controller using VEXcode IQ, select “Done” to complete the configuration.
- If you want to configure the Controller for use without coding, see the additional options below.
Once the Controller is added, you will see the Controller added to the Devices Window, and Controller blocks (like those highlighted in this image) will appear in the Toolbox.
Assigning the Drivetrain to the Controller’s Joysticks
Now that the Controller has been added to the robot configuration, you can assign the Drivetrain to the Controller’s joysticks in the Devices window. This allows you to assign the Drivetrain to the Controller’s joysticks without having to add additional code.
- The following example uses the Clawbot (Drivetrain 2-Motor)- (2nd gen) Example project.
Select the Devices icon to open the Devices window.
Select "Controller."
Select a joystick icon to toggle through the options.
- Selecting a joystick icon multiple times will cycle through all the options.
- Stop once the desired drive mode is displayed.
The four drive modes that you can choose from are: Left Arcade, Right Arcade, Split Arcade, Tank.
Left Arcade
All movement is controlled by the left joystick.
Right Arcade
All movement is controlled by the right joystick.
Split Arcade
Forward and backward movement is controlled by the left joystick while turning is controlled by the right joystick.
Tank
The left motor is controlled by the left joystick while the right motor is controlled by the right joystick.
Select “Done” to save your configuration.
- Now that the Drivetrain has been assigned to the joysticks and the changes have been saved, the project can now be downloaded and run.
- See this article for more information about how to download and run a project.
Assigning Motors or Motor Groups to the Controller’s Buttons
Once the Controller has been added to the robot configuration, you can assign motors or motor groups to specific Controller buttons in the Devices window. Assigning motors or motor groups in the Devices window allows you to control individual motors or motor groups without needing to add code.
- The following example has a motor and a motor group configured: ClawMotor and ArmMotorGroup.
Select the Devices icon to open the Devices window.
Select "Controller."
Configure a motor or motor group to a button by selecting the buttons on the Controller.
- Selecting the same button multiple times will cycle through your configured motors and motor groups.
- Stop once the desired motor or motor group is displayed.
The controller has four button groups (L, R, E, and F). Each group can have a single motor or motor group (that is not a part of the Drivetrain) configured to them.
Note: Once a motor or motor group has been configured, it will not display as an option for the other buttons.
Select “Done” to save your configuration.
- Now that the motor and motor group have been assigned on the Controller and the changes have been saved, the project can now be downloaded and run.
- For more information about how to download and run a project see this article.
Deleting a Controller
A Controller can be deleted by selecting the “Delete” option at the bottom of the screen.