搖桿一般在航模、電玩、遙控車、云臺等設(shè)備上應(yīng)用廣泛,很多帶有屏幕的設(shè)備也經(jīng)常使用搖桿作為菜單選擇的輸入控制。本篇介紹雙軸按鍵搖桿的使用。
1
雙軸按鍵搖桿介紹
雙軸按鍵搖桿主要由兩個(gè)10K的電位器和一個(gè)按鍵開關(guān)組成,兩個(gè)電位器隨著搖桿扭轉(zhuǎn)角度分別輸出X、Y軸上對應(yīng)的電壓值,在Z軸方向上按下?lián)u桿可觸發(fā)輕觸按鍵。在配套機(jī)械結(jié)構(gòu)的作用下,無外力扭動的搖桿初始狀態(tài)下,兩個(gè)電位器都處在量程的中間位置。
不同廠商生產(chǎn)的按鍵搖桿模塊的引腳輸出會有所不同,但都會有VCC、GND電源引腳和X、Y、Z輸出引腳。
2
實(shí)驗(yàn)材料
- Uno R3開發(fā)板
- 配套USB數(shù)據(jù)線
- 面包板及配套連接線
- 雙軸按鍵搖桿模塊
3
實(shí)驗(yàn)步驟
1.根據(jù)原理圖搭建電路圖。
雙軸按鍵搖桿模塊的VCC、GND分別連接開發(fā)板的5V、GND,模塊的X軸輸出、Y軸輸出分別連接開發(fā)板的模擬引腳A0、A1,模塊的Z軸輸出連接開發(fā)板數(shù)字引腳2。
實(shí)驗(yàn)原理圖如下圖所示:
實(shí)驗(yàn)原理圖
2. 新建sketch,拷貝如下代碼替換自動生成的代碼并進(jìn)行保存。
/*
* 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ā)板類型,進(jìn)行程序下載。
程序下載
4
實(shí)驗(yàn)現(xiàn)象
打開串口監(jiān)視器,波特率設(shè)置成與程序中相一致的9600,扭動搖桿,監(jiān)視器將顯示X、Y軸對應(yīng)的電壓對應(yīng)的AD數(shù)值。
實(shí)驗(yàn)現(xiàn)象
由于開發(fā)板的ADC是10位精度,AD值在[0, 1023]之間,理論上X、Y軸輸出中間值512,但由于電位器及結(jié)構(gòu)差異,原點(diǎn)值會有偏差,有些應(yīng)用中需要進(jìn)行校準(zhǔn)。
-
電位器
+關(guān)注
關(guān)注
14文章
1017瀏覽量
67924 -
GND
+關(guān)注
關(guān)注
2文章
544瀏覽量
39801 -
ADC采樣
+關(guān)注
關(guān)注
0文章
134瀏覽量
13184
發(fā)布評論請先 登錄
雙軸按鍵搖桿控制
搖桿模塊說明
如何使用單片機(jī)接入按鍵遙感
【開源分享】STM32四軸遙控器
BPI-PicoW-S3 使用雙軸搖桿[CircuitPython]
dfrobot輸入擴(kuò)展板V2.0 (集成搖桿/按鍵)介紹

雙軸遙感按鍵簡介
【GD32F303紅楓派開發(fā)板使用手冊】第十二講 ADC-雙軸按鍵搖桿多通道循環(huán)采樣實(shí)驗(yàn)

評論