SKU:RB-02S021A PS2游戏摇杆模块

来自ALSROBOT WiKi
跳转至: 导航搜索
Ps2 yao gan 01.png

目录

产品概述

PS2双轴按键游戏摇杆模块采用SONY公司PS2游戏手柄上原装优质金属按键摇杆电位器,模块特设二路模拟输出和一路数字输出接口,输出值分别对应(X,Y)双轴偏移量,其类型为模拟量;按键表示用户是否在Z轴上按下,其类型为数字开关量。模块集成电源指示灯,可显示工作状态;坐标标识符清晰简明、准确定位;用其可以轻松控制物体(如二自由度舵机云台)在二维空间运动,因此可以通过控制器编程,传感器扩展板插接,完成具有创意性遥控互动作品。

规格参数

  1. 工作电压:+5v
  2. 尺寸大小:50mm * 28mm * 31mm
  3. 固定孔尺寸:43mm*21mm
  4. 重量大小:133g
  5. 信号类型:模拟信号
  6. 接口类型:KF2510-5P

7.接口定义

Y:Y轴方向信号引脚(模拟输出)
X:X轴方向信号引脚(模拟输出)
B:B轴方向信号引脚(数字输出)
GND:电源地
VCC:电源正极
02S021A01.jpg

工作原理

PS2 摇杆具有2轴模拟输出(X 轴和 Y轴),1路按钮数字输出,配合 Arduino 传感器扩展板可以制作遥控器等互动作品,PS2 摇杆就像一个游戏控制台中的操纵杆,你可以控制输入这个操纵杆模块的 VRX、VRY 和按钮的值,以及在特定的值下实现某种功能,同时它也可以被视为一个按钮和电位器(可调电阻)的组合。数据类型的 VRX、VRY 为模拟信号,而按钮是数字输入信号,因此实际应用时。可以将 VRX 和 VRY 端口连接到 Arduino UNO 的模拟引脚,而按钮连接到数字引脚。

编程原理

PS2 摇杆由两个电位器和一个按钮开关组成,通过 Arduino 控制器可以对信号进行读取。

  • 波动电位器时,阻值发生变化,从而改变输出电压,其输出的是模拟量;
  • 按钮开关输出的是数字高、低电平。

使用方法

example1_arduino

  • 主要硬件
Arduino UNO 控制器
PS2 游戏摇杆模块
单头防插反 3P 传感器连接线
单头防插反 2P 传感器连接线
USB 数据线
  • 硬件连接
接线图
  • 例子程序
int Xaxis = A0;
int Yaxis = A1;
int Zsw = A2;
int value = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
value = analogRead(Xaxis);//读取 X 轴模拟端口0
Serial.print("X:");
Serial.println(value,DEC);
value = analogRead(Yaxis);
Serial.print(" | Y:");//读取 Y 轴模拟端口1
Serial.println(value,DEC);
value = analogRead(Zsw);//读取 Z 轴模拟端口2
Serial.print(" | Z:");
Serial.println(value,DEC);
delay(100);
}
  • 云编程代码
Yun0009.png
  • 程序效果
打开串口监视器之后,会输出当前检测到的模拟值。如下图所示:
接线图

example2_arduino

  • 主要硬件
二自由度云台 * 1套
PS2 摇杆 * 1个
Arduino UNO R3 + V5.0 传感器扩展扳 * 1套
7.4V 锂电池 * 1个
  • 硬件连接
02S021A100.png

接线说明:

底部舵机连接数字口 10 号
顶部舵机连接数字口 9 号
PS2 摇杆 X 轴连接 A0
PS2 摇杆 Y 轴连接 A1
PS2 摇杆 B 按键可以不进行连接
舵机采用单独供电方式
  • 例子程序
#include <Servo.h>
Servo myservo;
Servo myservo1;

int potpin = A0;
int potpin1= A1;

void setup()
{
  myservo.attach(9);
  myservo1.attach(10);
  }

void loop()
{
  int X = analogRead(A0);
  int Y = analogRead(A1);
  if(X<530 && X>515 && Y>505 && Y<525)
  {
    myservo.write(90);
    myservo1.write(90);
    }
  if(X<515)
    {
    int valx1 = map(X,0,515,40,90);
    myservo.write(valx1);
    }
  if(X>530)
  {
    int valx2 = map(X,530,1024,90,150);
    myservo.write(valx2);
  }
  if(Y<505)
  {
    int valy1 = map(Y,0,505,0,90);
    myservo1.write(valy1);
  }
  if(Y>525)
  {
    int valy2 = map(Y,505,1024,90,180);
    myservo1.write(valy2);
  }
}

视频演示

Yao gan 01.png
Yao gan 02.png


产品相关推荐

Erweima.png

资料下载

网盘链接: https://pan.baidu.com/s/1344cwgp2zo_d4N4Ov-w4sg 提取码:i2yh

购买地址

PS2游戏摇杆

周边产品推荐

继电器扩展板
大按钮
Arduino实验连接线 20P杜邦线

相关问题解答

相关学习资料

PS2游戏摇杆功能演示
奥松机器人技术论坛