在PS2和PSP游戏机中常用的游戏摇杆可以用在嵌入式系统中作为一种模拟量的输入工具,一方面可以学习对模拟电压的采样和处理,通过模拟电压对MCU进行控制,同时还可以引入一些算法,使输入的控制更加平滑。比如在基于RP2040设计的嵌入式系统学习平台中使用了FJ08-N摇杆作为主要的输入方式,不仅可以用于游戏的操控,还可以制作控制LCD显示的全屏指针以及通过USB连接到电脑的”鼠标“功能。

基于RP2040设计的嵌入式系统学习平台

基于RP2040设计的嵌入式系统学习平台

游戏摇杆本质是有2个电位计构成,通过测量电位计上的电压分压可以确定游戏x、y轴的位移

PS游戏摇杆

在我们基于RP2040的嵌入式系统游戏机平台上选用的是FJ08K-N的游戏摇杆,图片如下:

RP2040游戏机平台上选用的游戏摇杆电位计

关于这个游戏摇杆电位计的技术资料详见: FJ08K- N游戏摇杆电位计的数据手册

电路连接关系

我们使用的这个游戏摇杆没有内部按键,只有两个电位计,阻值为5KΩ ~ 100KΩ

为了测量游戏摇杆分压管脚的电压值,需要给电位计的1、3端提供直流电压(比如3.3V),将分压管脚连接到MCU或FPGA的ADC输入端(或外置的ADC输入端),通过ADC将模拟电压量化后做进一步的判断,连接方式如下图 - 在RP2040游戏机中的摇杆连接方式,X和Y轴的两个分压管脚分别连接到RP2040的连接到:

  • X轴 - IO28/ADC2
  • Y轴 - IO29/ADC3

RP2040内部的ADC为12位,可以将摇杆的电压0-3.3V量化为0-4095.

RP2040游戏机中的游戏杆电路连接方式

参见mp_joystick