#include //For driving the ESCs and Servos #include // Bill Porter's PS2X Library PS2X ps2x; //The PS2 Controller Class Servo UpRServo; //Create servo object representing up right ESC int RollLeftVal = 0; //Value read off the PS2 Left Stick left/right //Variables to carry the actual raw data for the ESCs int upRraw = 0; void setup(){ ps2x.config_gamepad(A0,A2,13,A1, true, false); //setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) //We have disabled the pressure sensitivity and rumble in this instance and //we know the controller type so we have not bothered with the error checks UpRServo.attach(6);// attaches the Up Right Servo to pin 6 } void loop(){ ps2x.read_gamepad(); //This needs to be called at least once a second // to get data from the controller. //Analogue Stick readings RollLeftVal = ps2x.Analog(PSS_LX); //Variables to carry the actual raw data for the ESCs upRraw = (127-RollLeftVal); //This will be up to a value of 192 //Scale the values to be suitable for ESCs and Servos upRraw=map(upRraw,-127,127,0,179); //Write it to the Servos or ESCs UpRServo.write(upRraw); delay(15); }