4.摇杆模块
一、功能以及原理
Joystick(摇杆)控制模块是一种常见的输入设备,广泛应用于游戏、机器人控制、工业自动化、虚拟现实等领域。它通过检测用户对摇杆的物理操作(如方向移动、按键触发等),将物理信号转化为数字或模拟信号,供嵌入式系统、计算机或软件处理,实现精准控制。
AI lab 中的摇杆模块通过滑动变阻器(电位器)改变电阻值,输出模拟电压信号。

二、引脚介绍以及对应开发板可用引脚
针脚 | 可连接引脚 | 功能 |
VCC | 5V | 提供工作电压 |
VERT | 模拟引脚 | 对应摇杆的 垂直方向(上下移动)。当摇杆向上推时,输出电压接近 VCC(如 5V);向下推时,输出电压接近 0V。在中间位置(未操作时),电压约为 VCC/2(如 2.5V)。模拟量输出(Analog Signal),通过 `analogRead()` 读取数值范围为 0~1023(对应 0~5V)。 |
HORZ | 模拟引脚 | 对应摇杆的 水平方向(左右移动)。向左推时,输出电压接近 0V;向右推时,输出电压接近 VCC(如 5V)。中间位置(未操作时),电压约为 VCC/2(如 2.5V)。模拟量输出(Analog Signal),通过 `analogRead()` 读取数值范围为 0~1023。 |
SEL | 数字引脚 | 对应摇杆的 按下动作(Z 轴触发)。当用户按下摇杆时,SEL 引脚会被 接地(GND),输出 低电平(0V);未按下时,SEL 引脚处于 高阻态(需要启用上拉电阻)。 |
GND | GND | 接地 |
三、代码控制
控制 Arduino 的 jotstick 模块并不需要特别的库进行控制,下面提供一个电路连接示例以及代码示例

3.1 文本代码
// 定义引脚
#define VERT_PIN A0 // 垂直轴
#define HORZ_PIN A1 // 水平轴
#define SEL_PIN 2 // 按键
void setup() {
pinMode(SEL_PIN, INPUT_PULLUP); // 启用上拉电阻
Serial.begin(9600);
}
void loop() {
int vert = analogRead(VERT_PIN); // 读取垂直方向
int horz = analogRead(HORZ_PIN); // 读取水平方向
int sel = digitalRead(SEL_PIN); // 读取按键状态
// 打印到串口监视器
Serial.print("VERT: ");
Serial.print(vert);
Serial.print(" | HORZ: ");
Serial.print(horz);
Serial.print(" | SEL: ");
Serial.println(sel);
delay(200); // 延时 200ms
}
3.2 图形化代码
可在“控制器”中的“摇杆模块”,找到相关的图形化代码块。


3.3 结果
运行后,直接拖动画布中的摇杆模块,即可操作。
四、相关案例演示
正在开发中
五、相关课程链接
正在开发中