摇杆模块

概述

摇杆是一种输入设备,由一个在底座上旋转的摇杆组成,向所控制的设备报告其角度或方向。摇杆常用于控制视频游戏和机器人。这里使用的是 PS2 摇杆。

所需元件

本项目中,我们需要以下元件。

购买整套套件会更加方便,以下是链接:

名称

套件所含项目

链接

Elite Explorer 套件

300+

Elite Explorer Kit

您也可以从以下链接单独购买。

元件介绍

购买链接

Arduino Uno R4 WiFi

-

面包板

BUY

杜邦线

BUY

摇杆模块

BUY

接线

../_images/20-joystick_bb.png

原理图

该模块有两个模拟输出(对应 X、Y 双轴偏移)。

在本实验中,我们使用 Uno 板检测摇杆旋钮的移动方向。

../_images/20_joystick_schematic.png

代码

备注

  • 您可以直接打开路径 elite-explorer-kit-main\basic_project\20-joystick 下的 20-joystick.ino 文件。

  • 或者将以下代码复制到 Arduino IDE 中。

现在,当您推动摇杆时,串口监视器上显示的 X 和 Y 轴坐标将相应变化。按下按钮还将显示坐标 Z=0。

代码分析

该代码使用串口监视器打印摇杆 PS2 的 VRX 和 VRY 引脚的值。

void loop()
{
    Serial.print("X: ");
    Serial.print(analogRead(xPin), DEC);  // 以十进制格式打印 VRX 的值
    Serial.print("|Y: ");
    Serial.print(analogRead(yPin), DEC);  // 以十进制格式打印 VRY 的值
    Serial.print("|Z: ");
    Serial.println(digitalRead(swPin));  // 打印 SW 的值
    delay(50);
}