#include <PS2X_lib.h>
PS2X ps2x;
int error = 0;
byte type = 0;
void setup() {
Serial.begin(9600);
error = ps2x.config_gamepad(7,5,4,6, true, true);
if(error == 0){
Serial.println(“Controle encontrado com sucesso!”);
}else{
Serial.println(“Controle não encontrado ou com problemas!”);
}
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){
Serial.println(“Controle não encontrado”);
delay(3000);
return;
}
ps2x.read_gamepad(false, 0); //Lê as informações do controle
Serial.print(“Analógicos:”);
Serial.print(ps2x.Analog(PSS_LY), DEC);
Serial.print(“,”);
Serial.print(ps2x.Analog(PSS_LX), DEC);
Serial.print(“,”);
Serial.print(ps2x.Analog(PSS_RY), DEC);
Serial.print(“,”);
Serial.print(ps2x.Analog(PSS_RX), DEC);
Serial.print(” — “);
if(ps2x.Button(PSB_START)){
Serial.println(“Botão Start pressionado”);
}
if(ps2x.Button(PSB_SELECT)){
Serial.println(“Botão Select pressionado”);
}
if(ps2x.Button(PSB_PAD_UP)) {
Serial.print(“Seta para Cima: “);
Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC);
}
if(ps2x.Button(PSB_PAD_RIGHT)){
Serial.print(“Seta para Direita: “);
Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC);
}
if(ps2x.Button(PSB_PAD_LEFT)){
Serial.print(“Seta para Esquerda: “);
Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC);
}
if(ps2x.Button(PSB_PAD_DOWN)){
Serial.print(“Seta para Baixo: “);
Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC);
}
if (ps2x.NewButtonState()){
if(ps2x.Button(PSB_L3)){
Serial.println(“Botão L3”);
}
if(ps2x.Button(PSB_R3)){
Serial.println(“Botão R3”);
}
if(ps2x.Button(PSB_L2)){
Serial.println(“Botão L2”);
}
if(ps2x.Button(PSB_R2)){
Serial.println(“Botão R2”);
}
if(ps2x.Button(PSB_GREEN)){
Serial.println(“Triangulo”);
}
}
if(ps2x.Button(PSB_L1)){
Serial.println(“Botão L1”);
}
if(ps2x.Button(PSB_R1)){
Serial.println(“Botão R1”);
}
if(ps2x.ButtonPressed(PSB_RED)){
Serial.println(“Circulo”);
}
if(ps2x.ButtonReleased(PSB_PINK)){
Serial.println(“Quadrado”);
}
if(ps2x.NewButtonState(PSB_BLUE)){
Serial.println(“X”);
}
Serial.println(“”);
}