Xbox 360 wired controller + Arduino + ROV

Hi!

i am attempting to use an xbox 360 wired controller to control a 6 motor underwater ROV. I am wondering if there is a way to map the values of the analog sticks to adjust the speed of the motors. For example, if the stick is pushed all the way up, the motor will be at full speed. I haven't been able to find the values of the analog stick to be able to map them however.

I am using serial communication for a master-slave relationship for this project as well. The controller will be hooked up to the arduino uno that will send the controller input to the mega which will control the motors.

So basically, i'm asking if you would know how to get a value from the analog stick and move the motors based on the amount the stick was pushed.

//The motors would need to be controlled individually, not in pairs.

(idk if you need it, but here's the hardware i'm using)
Arduino Uno -> Master
Arduino Mega -> Slave
2 x RS-485 modules
3 x Sabertooth 2x12 motor controllers
6 DC motors
Wired xbox 360 controller
Sparkfun USB Host shield

USB host shield library 2.0 seems useful as well

1 Like

You will need to figure out the output format of the 360 controller, and see if it is compatible with an Uno. An arduino can take analog inputs from potentiometers which are often found in joystick types of controllers. You can start testing the motor setups by using the serial monitor to send commands to the mega.