“SKU:RB-02S021A PS2游戲搖桿模塊”的版本間的差異

來自ALSROBOT WiKi
跳轉至: 導航、 搜索
?例子程序1
?云編程代碼1
第51行: 第51行:
  
 
=== 云編程代碼1===
 
=== 云編程代碼1===
 +
* 奧松在線云編程地址:http://arduino.alsrobot.cn/index.html
 
[[文件:yun0009.png|650px|縮略圖|居中]]
 
[[文件:yun0009.png|650px|縮略圖|居中]]
  

2017年5月2日 (二) 16:27的版本

Ps2 yao gan 01.png

目錄

產(chǎn)品概述

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

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

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

接口定義

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

使用方法

工作原理

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

編程原理

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

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

硬件連接圖

接線圖

例子程序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

Yun0009.png

程序效果1

打開串口監(jiān)視器之后,會輸出當前檢測到的模擬值。如下圖所示:
接線圖

應用例程

目的:使用PS2搖桿模塊控制二自由度舵機云臺
硬件設備:

  • 二自由度云臺 * 1套
  • PS2 搖桿 * 1個
  • Starduino 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)品相關推薦

Erweima.png

例子程序下載

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

購買地址

PS2游戲搖桿

周邊產(chǎn)品推薦

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

相關問題解答

相關學習資料

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