
双轴按键摇杆主要由两个10K的电位器和一个按键开关组成,两个电位器随着摇杆扭转角度分别输出X、Y轴上对应的电压值,在Z轴方向上按下摇杆可触发轻触按键。在配套机械结构的作用下,无外力扭动的摇杆初始状态下,两个电位器都处在量程的中间位置。
操纵杆是一种输入设备,由一根在底座上旋转并向其控制的设备报告其角度或方向的杆组成。操纵杆通常用于控制视频游戏,通常有一个或多个按钮,其状态也可以由计算机读取。现代视频游戏机上使用的操纵杆的一种流行变体是模拟操纵杆。操纵杆还用于控制起重机、卡车、水下无人驾驶车辆、轮椅、监控摄像头和零转弯半径割草机等机器。微型手指操作的操纵杆已被用作诸如移动电话之类的小型电子设备的输入设备。

| 引脚名称 | 描述 |
|---|---|
| G | GND(电源输入负极) |
| V | VCC(电源输入正极) |
| X | 模拟信号引脚 |
| Y | 模拟信号引脚 |
| K | 数字信号引脚 |
供电电压:3.3V / 5V
连接方式:PH2.0端子线
安装方式:四螺丝固定

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)
Arduino UNO 图形化示例程序:点击下载

ESP32 Python图形化示例程序:点击下载

Arduino UNO 测试环境搭建
准备配件:
电路接线图:

ESP32 Python 测试环境搭建
Arduino UNO视频教程:点击查看
ESP32 Python视频教程:
Arduino UNO测试结论:

通过获取上下,左右两个端口的模拟值(0,512,1023)不同组合得到摇杆的方向,输出对应的动作,通过按键的高低电平,获取是否被按下。从串口打印可以看到上下左右的效果,达到目的。
ESP32 Python测试结论: