模擬搖桿是你在玩視頻遊戲時肯定使用過的一種電子元件:
你可以移動搖桿,也可以從上到下點擊:
任何動作都會向連接的電路發送相應的電子信號。
搖桿的 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 的值。