“SKU:RB-02S021A PS2游戏摇杆模块”的版本间的差异

来自ALSROBOT WiKi
跳转至: 导航搜索
编程原理
使用方法
第27行: 第27行:
 
===硬件连接图===
 
===硬件连接图===
 
[[文件:02S021A02.png|700px|缩略图|居中|接线图]]
 
[[文件:02S021A02.png|700px|缩略图|居中|接线图]]
===例子程序===
+
===例子程序1===
 
<pre style='color:blue'>
 
<pre style='color:blue'>
 
int Xaxis = A0;
 
int Xaxis = A0;
第50行: 第50行:
 
</pre>
 
</pre>
  
===程序效果===
+
===程序效果1===
 
:打开串口监视器之后,会输出当前检测到的模拟值。如下图所示:
 
:打开串口监视器之后,会输出当前检测到的模拟值。如下图所示:
 
[[文件:02S021A03.png|500px|缩略图|居中|接线图]]
 
[[文件:02S021A03.png|500px|缩略图|居中|接线图]]
 +
 +
===例子程序2===
 +
目的:使用PS2摇杆模块控制二自由度舵机云台
 +
<pre style='color:blue'>#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,0,90);
 +
    myservo.write(valx1);
 +
    }
 +
  if(X>530)
 +
  {
 +
    int valx2 = map(X,530,1024,90,180);
 +
    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);
 +
  }
 +
}
 +
  </pre>
 +
 
==视频演示==
 
==视频演示==
 
[[File:yao gan 01.png|400px|左|link=http://v.youku.com/v_show/id_XMTI5NjE4NDEzNg==.html?from=y1.7-2]]
 
[[File:yao gan 01.png|400px|左|link=http://v.youku.com/v_show/id_XMTI5NjE4NDEzNg==.html?from=y1.7-2]]

2017年4月28日 (五) 17:32的版本

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

接口定义

  • 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 控制器可以对信号进行读取。

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

硬件连接图

接线图

例子程序1

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);
}

程序效果1

打开串口监视器之后,会输出当前检测到的模拟值。如下图所示:
接线图

例子程序2

目的:使用PS2摇杆模块控制二自由度舵机云台

#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,0,90);
    myservo.write(valx1);
    }
  if(X>530)
  {
    int valx2 = map(X,530,1024,90,180);
    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

购买地址

PS2游戏摇杆

周边产品推荐

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

相关问题解答

相关学习资料

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