background image

void directionButtonControl()
The last called function of the sketch is the function for controlling the TaskBot 

using the PS4 controller’s direction pad. In the main loop, this function is called 

from within the third while loop and is executed when one of the buttons from 

Button Group 2 is pressed.

Because this function is called from within a while loop, it is necessary to include 

the ps4.getPS4() command to update the status of the PS4 controller’s buttons, 

joysticks and sensors. 
Next, the function includes an if statement to determine if the value of the touch 

pad has changed. If the user is using the touch pad to adjust the motor speed, then 

the touchPadControl() function is called to adjust the crawl, normal, and turbo 

mode speeds.
After that, the adjustMotorPowers() function is called to adjust the 

powerMultiplier based on if the TaskBot is in crawl mode, turbo mode, or normal 

mode.
Finally, the function uses eight if statements to determine which buttons from the 

directional pad are pressed and to adjust the motors accordingly. The 

ps4.buttons_2 command is used to get the uniquely assigned value based on 

what button or buttons are pressed on the direction pad. 

TETRIX Tele-Op Control Module Activity 2      

11

Summary of Contents for Tele-Op

Page 1: ...ds to the motor port for that motor Motor 1 to Encoder Port 1 Motor 2 to Encoder Port 2 5 Make sure that the Ultrasonic Sensor on the TaskBot is connected to Port D2 on PRIZM 6 Make sure that the Line...

Page 2: ...lash white in a rapid pattern The controller is now in discovery mode 6 Press the black button on the Tele Op module The green LED on the Tele Op module should remain on and stop flashing Also the lig...

Page 3: ...ports and encoder ports that each TorqueNADO is plugged into turn your TaskBot back on and restart the program You should find that the farther you push the joysticks up the faster the TaskBot will mo...

Page 4: ...ine up with the line so that it faces the same direction that the line goes Hold down the L2 and R2 buttons at the same time to enter line following mode You should see the TaskBot start following the...

Page 5: ...rmal 35 modes There are also four integer variables one for storing the x value from the touch pad one for storing the distance measured by the Ultrasonic Sensor to operate the PS4 controller s rumble...

Page 6: ...mmand also returns a unique byte value based on which buttons from Group 2 are pressed Group 2 includes the Up Down Left Right L3 R3 Share and Options buttons The first while loop will continuously ca...

Page 7: ...egrees The next three lines of the main loop provide this functionality The first if statement turns the TaskBot left and the second if statement turns the TaskBot right The command ps4 Button BUTTON...

Page 8: ...commands is executed the else part Since the user does not want crawl mode or turbo mode then the only other option is normal mode The powerMultiplier is set to the medSpeed variable 0 35 or 35 and t...

Page 9: ...e PS4 controller s LED is set to blue to indicate the TaskBot is in line following mode The two if statements read the Line Finder Sensor and cause the TaskBot to turn one way if the sensor detects da...

Page 10: ...the TaskBot moves the opposite direction of the controller tilt but because of the backward motion the TaskBot ends up facing the direction of the tilt Controller Tilt Pitch Roll Motor 1 P R Motor 2 P...

Page 11: ...des an if statement to determine if the value of the touch pad has changed If the user is using the touch pad to adjust the motor speed then the touchPadControl function is called to adjust the crawl...

Page 12: ...back on the line the user should be able to press a button on the PS4 controller to have the TaskBot start autonomously following the line again The table here shows the direction pad buttons the uni...

Reviews: