/

電子元件:模擬搖桿

電子元件:模擬搖桿

模擬搖桿是你在玩視頻遊戲時肯定使用過的一種電子元件:

你可以移動搖桿,也可以從上到下點擊:

任何動作都會向連接的電路發送相應的電子信號。

搖桿的 5 個引腳分別是:

  • GND,輸入低電平信號
  • +5V,輸入高電平信號,也可以是 3.3V,如果使用基於 3.3V 的設備
  • VRx,表示搖桿在 x 軸上的位置的模擬信號
  • VRy,表示搖桿在 y 軸上的位置的模擬信號
  • SW,縮寫為 開關,按下時的數字值為 LOW,否則為 HIGH

VRxVRy 連接到模擬輸入引腳,可以獲取它們的值。

模擬輸入值的範圍是從 01023,因為它們使用 10 位元的解析度。

觀察搖桿的左側引腳,X 軸的值從 0(最左)到 1023(最右)變化,並且在中間值 498Y 軸的值從 0(頂部)到 1023(底部)變化,並且在中間值 498

假設 VRx 連接到 A0VRy 連接到 A1:

1
2
int x = analogRead(A0);
int y = analogRead(A1);

一個簡單的打印數值的程式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
void setup() {
Serial.begin(9600);
}

void loop() {
int x = analogRead(A0);
int y = analogRead(A1);
Serial.print("X = ");
Serial.print(x);
Serial.print("\tY = ");
Serial.println(y);
delay(100);
}

你也可以將它們視為電壓值。假設正電壓為 5V,你可以將得到的值乘以 5.0,然後除以 1023,得到 05 的範圍:

1
2
3
4
x = analogRead(A0);
y = analogRead(A1);

float x_val = (x * 5.0) / 1023;

你可以進行類似的計算,以獲取相對於 3.3V 的值。

tags: [“electronic components”, “analog joystick”, “joystick interface”, “game controller”]