“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双轴按键游戏摇杆模块采用SONY公司PS2游戏手柄上原装优质金属按键摇杆电位器,模块特设二路模拟输出和一路数字输出接口,输出值分别对应(X,Y)双轴偏移量,其类型为模拟量;按键表示用户是否在Z轴上按下,其类型为数字开关量。模块集成电源指示灯,可显示工作状态;坐标标识符清晰简明、准确定位;用其可以轻松控制物体(如二自由度舵机云台)在二维空间运动,因此可以通过控制器编程,传感器扩展板插接,完成具有创意性遥控互动作品。
规格参数
- 工作电压 :+5v
- 尺寸大小:50mm * 28mm * 31mm
- 固定孔尺寸:43mm*21mm
- 重量大小:133g
- 信号类型:模拟信号
- 接口类型:KF2510-5P
接口定义
- Y:Y轴方向信号引脚(模拟输出)
- X:X轴方向信号引脚(模拟输出)
- B:B轴方向信号引脚(数字输出)
- GND:电源地
- VCC:电源正极
使用方法
工作原理
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); } }
视频演示
产品相关推荐
购买地址
周边产品推荐
继电器扩展板
大按钮
Arduino实验连接线 20P杜邦线