搖桿(joystick)可以利用搖桿的方向輸入兩組類比訊號,並利用下壓的功能輸入一組數位訊號。
在Arduino中一般是使用Keyes_Syoys的型號。
搖桿一共有五個接腳。
GND,要接GND。
+5V,要接5V。(有可能寫做Vcc)。
VRx,要接X軸輸出(類比腳位)。
VRy,要接y軸輸出(類比腳位)。
SW,要接(數位腳位)。
新概念:
X軸與Y軸:分別控制搖桿的左右搖擺和上下搖擺。

SE:類似按鈕,可以控制按下去或放開。

在這個範例之中,我們將+5V用黃色線接到5V,GND用藍色線接到GND。
兩個控制左右的搖桿為白色線,分別是VRx接到A0、VRy接到A1,用橘色線將SW接到8號腳位。
int xPosition = 0;
int yPosition = 0;
int buttonState = 0;

void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(8, INPUT_PULLUP);
}

void loop() {
xPosition = analogRead(A0);
yPosition = analogRead(A1);
buttonState = digitalRead(8);
}

設定變數xPosition為整數且等於0
設定變數yPosition為整數且等於0
設定變數buttonState為整數且等於0


設定類比腳位A0的模式為輸入
設定類比腳位A1的模式為輸入
設定數位腳位8的模式為輸入,且為上拉



將xPosition的值設為類比腳位A0讀取的數值
將yPosition的值設為類比腳位A1讀取的數值
將buttonState的值設為數位腳位8讀取的數值
新概念:
Position:位置。
buttonState:按鈕狀態。
上拉:和按鈕相同,表示為啟用上拉電組的意思。

*如果想要確定是否有成功運作,可以運用Serial.println()的方式序列埠輸出讀到的數值。記得要先設定Serial.begin(9600),才能運用序列埠輸出。
請達成以下挑戰:
1.利用搖桿轉動的角度控制伺服馬達轉動的角度。
2.當搖桿轉動到超過一半的時候轉動伺服馬達到30、150度。