Hi all,
I have two PS controller one of them wired like https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRMugb5Qw4bM4SRRocrxczwS5L-HClOjjN0BskfX5Zye4NURNCu
and the other is wireless like http://t1.gstatic.com/images?q=tbn:ANd9GcSLIxlCkSglU3UatkrPlc6qbCoppKvPzgdFYQdrXLoxGZ1w4eDh
I connected the wired one as many online tutorial and it works good
but when i connected the wireless one on the same way power LED lights up but controller and receiver not pairing with each other So any body can help !!
code
#include <PS2X_lib.h> //for v1.6
PS2X ps2x; // create PS2 Controller Class
//right now, the library does NOT support hot pluggable controllers, meaning
//you must always either restart your Arduino after you conect the controller,
//or call config_gamepad(pins) again after connecting the controller.
int error = 0;
byte type = 0;
byte vibrate = 0;
void setup(){
Serial.begin(57600);
error = ps2x.config_gamepad(10,9,8,11, true, true); //setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error
if(error == 0)Serial.println("Found Controller, configured successful");
else if(error == 1)Serial.println("No controller found, check wiring, see readme.txt to enable debug. visit www.billporter.info for troubleshooting tips");
else if(error == 2)Serial.println("Controller found but not accepting commands. see readme.txt to enable debug. Visit www.billporter.info for troubleshooting tips");
else if(error == 3)Serial.println("Controller refusing to enter Pressures mode, may not support it. ");
type = ps2x.readType();
switch(type) {
case 0:
Serial.println("Unknown Controller type");
break;
case 1:
Serial.println("DualShock Controller Found");
break;
case 2:
Serial.println("GuitarHero Controller Found");
break;
}
}
void loop(){
if(error == 1)return;
if(type == 2){
ps2x.read_gamepad();
if(ps2x.ButtonPressed(GREEN_FRET))Serial.println("Green Fret Pressed");
if(ps2x.ButtonPressed(RED_FRET))Serial.println("Red Fret Pressed");
if(ps2x.ButtonPressed(YELLOW_FRET))Serial.println("Yellow Fret Pressed");
if(ps2x.ButtonPressed(BLUE_FRET))Serial.println("Blue Fret Pressed");
if(ps2x.ButtonPressed(ORANGE_FRET))Serial.println("Orange Fret Pressed");
if(ps2x.ButtonPressed(STAR_POWER))Serial.println("Star Power Command");
if(ps2x.Button(UP_STRUM))Serial.println("Up Strum");
if(ps2x.Button(DOWN_STRUM))Serial.println("DOWN Strum");
if(ps2x.Button(PSB_START))Serial.println("Start is being held");
if(ps2x.Button(PSB_SELECT))Serial.println("Select is being held");
if(ps2x.Button(ORANGE_FRET)){
Serial.print("Wammy Bar Position:");
Serial.println(ps2x.Analog(WHAMMY_BAR), DEC);
}
}
else {
ps2x.read_gamepad(false, vibrate);
if(ps2x.Button(PSB_START))Serial.println("Start is being held");
if(ps2x.Button(PSB_SELECT))Serial.println("Select is being held");
if(ps2x.Button(PSB_PAD_UP)){
Serial.print("Up held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC);
}
if(ps2x.Button(PSB_PAD_RIGHT)){
Serial.print("Right held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC);
}
if(ps2x.Button(PSB_PAD_LEFT)){
Serial.print("LEFT held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC);
}
if(ps2x.Button(PSB_PAD_DOWN)){
Serial.print("DOWN held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC);
}
vibrate = ps2x.Analog(PSAB_BLUE);
if (ps2x.NewButtonState()){
if(ps2x.Button(PSB_L3))Serial.println("L3 pressed");
if(ps2x.Button(PSB_R3))Serial.println("R3 pressed");
if(ps2x.Button(PSB_L2))Serial.println("L2 pressed");
if(ps2x.Button(PSB_R2))Serial.println("R2 pressed");
if(ps2x.Button(PSB_GREEN))Serial.println("Triangle pressed");
}
if(ps2x.ButtonPressed(PSB_RED))Serial.println("Circle just pressed");
if(ps2x.ButtonReleased(PSB_PINK))Serial.println("Square just released");
if(ps2x.NewButtonState(PSB_BLUE))Serial.println("X just changed");
if(ps2x.Button(PSB_L1) || ps2x.Button(PSB_R1)){
Serial.print("Stick Values:");
Serial.print(ps2x.Analog(PSS_LY), DEC); //Left stick, Y axis. Other options: LX, RY, RX
Serial.print(",");
Serial.print(ps2x.Analog(PSS_LX), DEC);
Serial.print(",");
Serial.print(ps2x.Analog(PSS_RY), DEC);
Serial.print(",");
Serial.println(ps2x.Analog(PSS_RX), DEC);
}
}
delay(50);
}