
1、介紹
操縱桿是一種輸入設備,由一根在底座上旋轉並向其控制的設備報告其角度或方向的桿組成。操作桿通常用於控制電子遊戲,通常有一個或多個按鈕,其狀態也可以由電腦讀取。現代電子遊戲機上使用的操縱桿的一種流行變體是模擬操縱桿。操縱桿還用於控制起重機、卡車、水下無人駕駛車輛、輪椅、監控攝像頭和零轉向半徑割草機等機器。微型手指操作的操纵桿已被用作諸如手機之類的小型電子設備的輸入設備。
2、原理圖

3、模組參數
引腳名稱 | 描述 |
|---|---|
G | GND(電源輸入負極) |
V | VCC(電源輸入正極) |
X | 模擬信號引腳 |
Y | 模擬信號引腳 |
K | 數字信號引腳 |
供電電壓:3.3V / 5V
連接方式:PH2.0端子線
安裝方式:四螺丝固定
4、電路板尺寸

5、Arduino IDE示範程序
Arduino UNO 示例(適用於Mixly IDE、Arduino IDE):
int x= 0;//定义遥感X轴电压模拟值变量
int y= 0;//定义遥感Y轴电压模拟值变量
boolean k= 0;//定义遥感K引脚状态变量
void setup(){
Serial.begin(9600);//设置波特率
pinMode(A2, INPUT);//定义A2为输入引脚
pinMode(A1, INPUT);//定义A1为输入引脚
pinMode(7, INPUT);//定义A0为输入引脚
}
void loop(){
x = analogRead(A2);//获取遥杆X轴电压模拟值
y = analogRead(A1);//获取遥杆Y轴电压模拟值
k = digitalRead(7);//获取遥杆按键状态
Serial.print("x: ");
Serial.print(x);//打印获取到遥杆X轴电压模拟值
Serial.print("| y: ");
Serial.print(y);//打印获取到遥杆X轴电压模拟值
Serial.print("|K: ");
Serial.println(k);//打印获取到遥杆按键状态
delay(200);
}ESP32 Python 示例(適用於Mixly IDE /米思齊)
(開發板選擇 Python ESP32 【ESP32 Generic(4MB)】切換為代碼模式上傳 ):
import machine
import time
adc35 = machine.ADC(machine.Pin(35))
adc34 = machine.ADC(machine.Pin(34))
pin15 = machine.Pin(15, machine.Pin.IN)
while True:
print('X ',end ="")
print(adc35.read_u16(),end ="")
print('Y ',end ="")
print(adc34.read_u16(),end ="")
print('Z ',end ="")
print(pin15.value())
time.sleep_ms(100)
6、米思齊Mixly示例程式(圖形化語言)
ArduinoUNO圖形化示例程式:點擊下載

ESP32 Python圖形化示例程式:點擊下載

7、測試環境搭建
Arduino UNO 測試環境搭建
準備配件:
HELLO STEM UNO R3 開發板 *1
HELLO STEM UNO R3 P 扩展板 *1
USB type-c 資料線 *1
雙軸搖桿模塊(HS-S34L)*1
PH2.0 5P杜邦線 *1
電路接線圖:

ESP32 Python 測試環境搭建
8、視頻教學
Arduino UNO視頻教學:點擊查看
ESP32 Python視頻教學:
9、測試結論
Arduino UNO測試結論:

透過取得上下,左右兩個端口的模擬值(0,512,1023)不同組合得到搖桿的方向,輸出對應的動作,通過按鍵的高低電平,取得是否被按下。從串口印出可以看到上下左右的效果,達到目的。
ESP32 Python測試結論: