PS2 controller was tested on arduino, available for friends like diy draw


#include <PS2X_lib.h> // PS2 handle
PS2X ps2x; // Create the Controller PS2 Class
////////// PS2 pin ///////////////// / total of four signal pins
#define PS2_DAT 26 is the DI //
#define PS2_CMD the DO 27 //
#define PS2_SEL the CS 32 //
#define PS2_CLK 34 is ////////////
unsigned char SERVO, PS2_LY, PS2_LX, PS2_RY, PS2_RX, PS2_KEY; // related variables defined
void (* resetFunc) (void) = 0; // the Reset FUNC
/ *********** function: initialization equivalent inside STM32 Main function of: balancing Robot house ************ /
void Setup () {
char error;
Serial.begin (57600); // open the serial
error = ps2x.config_gamepad (PS2_CLK, PS2_CMD, PS2_SEL, PS2_DAT, false, false) ; // PS2 control

}
/******函数功能:主循环程序体*******/
void loop(){

ps2x.read_gamepad(false, 0); //read controller and set large motor to spin at 'vibrate' speed
PS2_LX=ps2x.Analog(PSS_LX);
PS2_LY=ps2x.Analog(PSS_LY);
PS2_RX=ps2x.Analog(PSS_RX);
PS2_RY=ps2x.Analog(PSS_RY);
Serial.print("PS2_LX:");
Serial.print(PS2_LX);
Serial.print(" PS2_LY:");
Serial.print(PS2_LY);
Serial.print(" PS2_RX:");
Serial.print(PS2_RX);
Serial.print(" PS2_RY:");
Serial.print(PS2_RY);
if(ps2x.Button(PSB_TRIANGLE)) Serial.println(" PSB_TRIANGLE");
else if(ps2x.Button(PSB_CROSS)) Serial.println(" PSB_CROSS");
else if(ps2x.Button(PSB_CIRCLE)) Serial.println(" PSB_CIRC");
else if(ps2x.Button(PSB_SQUARE)) Serial.println(" PSB_SQUARE");
else if(ps2x.Button(PSB_PAD_UP)) Serial.println(" PSB_PAD_UP");
else if(ps2x.Button(PSB_PAD_DOWN)) Serial.println(" PSB_PAD_DOWN");
else if(ps2x.Button(PSB_PAD_RIGHT)) Serial.println(" PSB_PAD_RIGHT");
else if(ps2x.Button(PSB_PAD_LEFT)) Serial.println(" PSB_PAD_LEFT");
else if(ps2x.Button(PSB_R1)) Serial.println(" PSB_R1");
else if(ps2x.Button(PSB_R2)) Serial.println(" PSB_R2");
else if(ps2x.Button(PSB_SELECT)) Serial.println(" PSB_SELECT");
else if(ps2x.Button(PSB_START)) Serial.println(" PSB_START");
else if(ps2x.Button(PSB_L1)) Serial.println(" PSB_L1");
else if(ps2x.Button(PSB_L2)) Serial.println(" PSB_L2");
else Serial.println(" KEY_RELEASE");
}

Guess you like

Origin www.cnblogs.com/pangliqiu/p/12584573.html