差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
joystick [2022/01/27 06:36] gongyusu [PS游戏杆] |
joystick [2022/01/30 19:02] (当前版本) gongyusu [7. 参考设计文档] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ## PS游戏杆 | + | ## PS游戏摇杆 |
- | {{ :joystick.jpg?300 |} | + | 在PS2和PSP游戏机中常用的游戏摇杆可以用在嵌入式系统中作为一种模拟量的输入工具,一方面可以学习对模拟电压的采样和处理,通过模拟电压对MCU进行控制,同时还可以引入一些算法,使输入的控制更加平滑。比如在基于RP2040设计的嵌入式系统学习平台中使用了FJ08-N摇杆作为主要的输入方式,不仅可以用于游戏的操控,还可以制作控制LCD显示的全屏指针以及通过USB连接到电脑的”鼠标“功能。 |
+ | |||
+ | {{ :rp2040gamekit.jpg |基于RP2040设计的嵌入式系统学习平台}} <WRAP centeralign> 基于RP2040设计的嵌入式系统学习平台</WRAP> | ||
- | {{ :fj08k-13035235.jpg?300 |}} | ||
- | {{fj08k-2017-02-07-07-29-33.pdf|FJ08K-N游戏摇杆电位计的数据手册}} | ||
- | } | ||
### 1. 介绍 | ### 1. 介绍 | ||
+ | 游戏摇杆本质是有2个电位计构成,通过测量电位计上的电压分压可以确定游戏x、y轴的位移 | ||
+ | {{ :joystick.jpg?300 |}} <WRAP centeralign>PS游戏摇杆</WRAP> | ||
+ | |||
+ | 在我们基于RP2040的嵌入式系统游戏机平台上选用的是FJ08K-N的游戏摇杆,图片如下: | ||
+ | {{ :fj08k-13035235.jpg?300 |}}<WRAP centeralign>RP2040游戏机平台上选用的游戏摇杆电位计</WRAP> | ||
+ | |||
+ | 关于这个游戏摇杆电位计的技术资料详见: | ||
+ | {{ fj08k-2017-02-07-07-29-33.pdf|FJ08K- N游戏摇杆电位计的数据手册}} | ||
### 2. 工作原理 | ### 2. 工作原理 | ||
+ | {{ :joystickconnect.png |}}<WRAP centeralign> 电路连接关系 </WRAP> | ||
+ | |||
+ | {{ :fj08n_sch.png |}} <WRAP centeralign> 我们使用的这个游戏摇杆没有内部按键,只有两个电位计,阻值为5KΩ ~ 100KΩ </WRAP> | ||
+ | |||
### 3. 电路连接 | ### 3. 电路连接 | ||
+ | 为了测量游戏摇杆分压管脚的电压值,需要给电位计的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. | ||
+ | |||
+ | {{ :fj08k-n_conn.png |}} <WRAP centeralign> RP2040游戏机中的游戏杆电路连接方式</WRAP> | ||
+ | |||
### 4. MicroPython代码(MCU) | ### 4. MicroPython代码(MCU) | ||
参见[[mp_joystick]] | 参见[[mp_joystick]] | ||
+ | |||
+ | ### 5. 视频演示 | ||
+ | * [[https://www.bilibili.com/video/BV13M4y1w7uf?spm_id_from=333.999.0.0|如何使用摇杆控制舵机]] | ||
+ | * [[https://www.bilibili.com/video/BV1Ku411D7jY?share_source=copy_web|使用CircuitPython设计摇杆鼠标]] | ||
+ | |||
+ | ### 6. 相关项目 | ||
+ | * [[https://www.eetree.cn/project/detail/698|基于树莓派RP2040的嵌入式系统学习平台]] | ||
+ | |||
+ | ### 7. 参考设计文档 | ||
+ | * [[https://www.iottrends.tech/blog/how-to-interface-an-analog-joystick-with-raspberry-pi-pico/|How to Connect an Analog Joystick to Raspberry Pi Pico]] | ||
+ | * [[https://blog.thestaticturtle.fr/getting-started-with-hid-and-the-pi-pico/|Getting started with HID and the Pi Pico]] | ||
+ | * [[https://github.com/adafruit/Adafruit_CircuitPython_HID|Adafruit基于CircuitPython的USB HID驱动]] |