PS2游戏摇杆joystick与arduino uno简单实验

某宝上买的joystick

PS2游戏摇杆joystick与arduino uno简单实验_第1张图片

可以看到有五个引脚:Vcc,GND,VRx,VRy,SW(switch即按钮)


网上有很多例子都是说SW接arduino数字IO口,我把它接到模拟输入IO后经过调试,发现我这玩意不按时输出电压是随意值,按下去之后电压稳定在0


经过调试,我画了一张不同方位X,Y的输入电压变化(上方为引脚方向):

PS2游戏摇杆joystick与arduino uno简单实验_第2张图片


因此读者需要注意,下面是代码(接法见注释):


//x,y,z轴接在模拟输入的A1,A0,A2
#define JoyStick_X 0
#define JoyStick_Y 1
#define JoyStick_Z 2
//SW引脚按下去时输出0,不按时在0-5V间跳动
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  int x,y,z;
  x=analogRead(JoyStick_X);
  y=analogRead(JoyStick_Y);
  z=analogRead(JoyStick_Z);
  Serial.print("X=");
  Serial.print(x); 
  Serial.print("\tY=");   
  Serial.print(y);
  
  if(analogRead(JoyStick_Z)==0){
    Serial.println("\tButton=On");
    
  }else{
    Serial.println("\tButton=Off");
  }

  delay(1000);
}


 
 

你可能感兴趣的:(arduino,电子元器件)