搖桿一般在航模、電玩、遙控車、云臺等設(shè)備上應(yīng)用廣泛,很多帶有屏幕的設(shè)備也經(jīng)常使用搖桿作為菜單選擇的輸入控制。本篇介紹雙軸按鍵搖桿的使用。
1
雙軸按鍵搖桿介紹
雙軸按鍵搖桿主要由兩個10K的電位器和一個按鍵開關(guān)組成,兩個電位器隨著搖桿扭轉(zhuǎn)角度分別輸出X、Y軸上對應(yīng)的電壓值,在Z軸方向上按下?lián)u桿可觸發(fā)輕觸按鍵。在配套機械結(jié)構(gòu)的作用下,無外力扭動的搖桿初始狀態(tài)下,兩個電位器都處在量程的中間位置。
不同廠商生產(chǎn)的按鍵搖桿模塊的引腳輸出會有所不同,但都會有VCC、GND電源引腳和X、Y、Z輸出引腳。
2
實驗材料
- Uno R3開發(fā)板
- 配套USB數(shù)據(jù)線
- 面包板及配套連接線
- 雙軸按鍵搖桿模塊
3
實驗步驟
1.根據(jù)原理圖搭建電路圖。
雙軸按鍵搖桿模塊的VCC、GND分別連接開發(fā)板的5V、GND,模塊的X軸輸出、Y軸輸出分別連接開發(fā)板的模擬引腳A0、A1,模塊的Z軸輸出連接開發(fā)板數(shù)字引腳2。
實驗原理圖如下圖所示:

實驗原理圖
2. 新建sketch,拷貝如下代碼替換自動生成的代碼并進行保存。
/*
* JoyStick
* 雙軸按鍵搖桿
*/
#define pinX A0
#define pinY A1
#define pinK 2
int value = 0;
void setup()
{
pinMode(pinK, INPUT);
Serial.begin(9600);
}
void loop()
{
value = analogRead(pinX);
Serial.print("X: ");
Serial.print(value);
value = analogRead(pinY);
Serial.print(" Y: ");
Serial.print(value);
value = digitalRead(pinK);
Serial.print(" Z: ");
Serial.println(value);
delay(1000);
}
3. 連接開發(fā)板,設(shè)置好對應(yīng)端口號和開發(fā)板類型,進行程序下載。

程序下載
4
實驗現(xiàn)象
打開串口監(jiān)視器,波特率設(shè)置成與程序中相一致的9600,扭動搖桿,監(jiān)視器將顯示X、Y軸對應(yīng)的電壓對應(yīng)的AD數(shù)值。

實驗現(xiàn)象
由于開發(fā)板的ADC是10位精度,AD值在[0, 1023]之間,理論上X、Y軸輸出中間值512,但由于電位器及結(jié)構(gòu)差異,原點值會有偏差,有些應(yīng)用中需要進行校準(zhǔn)。
-
電位器
+關(guān)注
關(guān)注
14文章
1018瀏覽量
68641 -
GND
+關(guān)注
關(guān)注
2文章
548瀏覽量
40862 -
ADC采樣
+關(guān)注
關(guān)注
0文章
134瀏覽量
13499
發(fā)布評論請先 登錄
搖桿模塊說明
如何使用單片機接入按鍵遙感
【開源分享】STM32四軸遙控器
BPI-PicoW-S3 使用雙軸搖桿[CircuitPython]
dfrobot輸入擴展板V2.0 (集成搖桿/按鍵)介紹
【GD32F303紅楓派開發(fā)板使用手冊】第十二講 ADC-雙軸按鍵搖桿多通道循環(huán)采樣實驗

介紹雙軸按鍵搖桿的使用
評論