SKU:RB-02S021A PS2游戲搖桿模塊

來自ALSROBOT WiKi
2018年9月17日 (一) 09:39Arduino77討論 | 貢獻的版本

跳轉(zhuǎn)至: 導(dǎo)航、 搜索
Ps2 yao gan 01.png

目錄

產(chǎn)品概述

PS2雙軸按鍵游戲搖桿模塊采用SONY公司PS2游戲手柄上原裝優(yōu)質(zhì)金屬按鍵搖桿電位器,模塊特設(shè)二路模擬輸出和一路數(shù)字輸出接口,輸出值分別對應(yīng)(X,Y)雙軸偏移量,其類型為模擬量;按鍵表示用戶是否在Z軸上按下,其類型為數(shù)字開關(guān)量。模塊集成電源指示燈,可顯示工作狀態(tài);坐標標識符清晰簡明、準確定位;用其可以輕松控制物體(如二自由度舵機云臺)在二維空間運動,因此可以通過控制器編程,傳感器擴展板插接,完成具有創(chuàng)意性遙控互動作品。

規(guī)格參數(shù)

  1. 工作電壓 :+5v
  2. 尺寸大?。?0mm * 28mm * 31mm
  3. 固定孔尺寸:43mm*21mm
  4. 重量大?。?33g
  5. 信號類型:模擬信號
  6. 接口類型:KF2510-5P

7.接口定義

Y:Y軸方向信號引腳(模擬輸出)
X:X軸方向信號引腳(模擬輸出)
B:B軸方向信號引腳(數(shù)字輸出)
GND:電源地
VCC:電源正極
02S021A01.jpg

工作原理

PS2 搖桿具有2軸模擬輸出(X 軸和 Y軸),1路按鈕數(shù)字輸出,配合 Arduino 傳感器擴展板可以制作遙控器等互動作品,PS2 搖桿就像一個游戲控制臺中的操縱桿,你可以控制輸入這個操縱桿模塊的 VRX、VRY 和按鈕的值,以及在特定的值下實現(xiàn)某種功能,同時它也可以被視為一個按鈕和電位器(可調(diào)電阻)的組合。數(shù)據(jù)類型的 VRX、VRY 為模擬信號,而按鈕是數(shù)字輸入信號,因此實際應(yīng)用時??梢詫?VRX 和 VRY 端口連接到 Arduino UNO 的模擬引腳,而按鈕連接到數(shù)字引腳。

編程原理

PS2 搖桿由兩個電位器和一個按鈕開關(guān)組成,通過 Arduino 控制器可以對信號進行讀取。

  • 波動電位器時,阻值發(fā)生變化,從而改變輸出電壓,其輸出的是模擬量;
  • 按鈕開關(guān)輸出的是數(shù)字高、低電平。

使用方法

example1_arduino

  • 主要硬件
Arduino UNO 控制器
PS2 游戲搖桿模塊
單頭防插反 3P 傳感器連接線
單頭防插反 2P 傳感器連接線
USB 數(shù)據(jù)線
  • 硬件連接
接線圖
  • 例子程序
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
  • 程序效果
打開串口監(jiān)視器之后,會輸出當前檢測到的模擬值。如下圖所示:
接線圖

example2_arduino

  • 主要硬件
二自由度云臺 * 1套
PS2 搖桿 * 1個
Arduino UNO R3 + V5.0 傳感器擴展扳 * 1套
7.4V 鋰電池 * 1個
  • 硬件連接
02S021A100.png

接線說明:

底部舵機連接數(shù)字口 10 號
頂部舵機連接數(shù)字口 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


產(chǎn)品相關(guān)推薦

Erweima.png

例下載

下載鏈接:http://pan.baidu.com/s/1o7VKtjs 密碼:a2p6

購買地址

PS2游戲搖桿

周邊產(chǎn)品推薦

繼電器擴展板
大按鈕
Arduino實驗連接線 20P杜邦線

相關(guān)問題解答

相關(guān)學(xué)習(xí)資料

PS2游戲搖桿功能演示
奧松機器人技術(shù)論壇