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

| 引脚名称 | 描述 |
|---|---|
| G | GND(电源输入负极) |
| V | VCC(电源输入正极) |
| X | 模拟信号引脚 |
| Y | 模拟信号引脚 |
| K | 数字信号引脚 |
供电电压:3.3V / 5V
连接方式:2.54mm排针
安装方式:双螺丝固定

示例程序(UNO开发板):点击下载
volatile int x;
volatile int y;
volatile boolean k;
void setup(){
Serial.begin(9600);
x = 0;
y = 0;
k = 0;
pinMode(A2, INPUT);
pinMode(A1, INPUT);
pinMode(A0, INPUT);
}
void loop(){
x = analogRead(A2);
y = analogRead(A1);
k = digitalRead(A0);
Serial.print("x: ");
Serial.print(x);
Serial.print("| y: ");
Serial.print(y);
Serial.print("|K: ");
Serial.println(k);
delay(200);
}
示例程序(ESP32开发板—基于Python语言,不能用Arduino IDE上传代码):
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)
示例程序(UNO开发板):点击下载

示例程序(ESP32开发板):点击下载

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

Micropython环境搭建
准备配件:
电路接线图:
视频教程:点击查看

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