模擬搖桿是你在玩視頻遊戲時肯定使用過的一種電子元件:
你可以移動搖桿,也可以從上到下點擊:
任何動作都會向連接的電路發送相應的電子信號。
搖桿的 5 個引腳分別是:
GND
,輸入低電平信號+5V
,輸入高電平信號,也可以是 3.3V,如果使用基於 3.3V 的設備VRx
,表示搖桿在 x 軸上的位置的模擬信號VRy
,表示搖桿在 y 軸上的位置的模擬信號SW
,縮寫為 開關,按下時的數字值為LOW
,否則為HIGH
將 VRx
和 VRy
連接到模擬輸入引腳,可以獲取它們的值。
模擬輸入值的範圍是從 0
到 1023
,因為它們使用 10
位元的解析度。
觀察搖桿的左側引腳,X
軸的值從 0
(最左)到 1023
(最右)變化,並且在中間值 498
。Y
軸的值從 0
(頂部)到 1023
(底部)變化,並且在中間值 498
。
假設 VRx
連接到 A0
,VRy
連接到 A1
:
int x = analogRead(A0);
int y = analogRead(A1);
一個簡單的打印數值的程式如下:
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
,得到 0
到 5
的範圍:
x = analogRead(A0);
y = analogRead(A1);
float x_val = (x * 5.0) / 1023;
你可以進行類似的計算,以獲取相對於 3.3V
的值。