差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
joystick [2022/01/27 06:50]
gongyusu
joystick [2022/01/30 19:02] (当前版本)
gongyusu [7. 参考设计文档]
行 1: 行 1:
-## PS游戏杆 +## PS游戏杆 
-在PS2和PSP游戏机中常用的游戏摇杆可以用在嵌入式系统中作为一种模拟量的输入工具,一方面可以学习对模拟电压的采样和处理,通过模拟电压对MCU进行控制,同时还可以引入一些算法,使输入的控制更加平滑。+在PS2和PSP游戏机中常用的游戏摇杆可以用在嵌入式系统中作为一种模拟量的输入工具,一方面可以学习对模拟电压的采样和处理,通过模拟电压对MCU进行控制,同时还可以引入一些算法,使输入的控制更加平滑。比如在基于RP2040设计的嵌入式系统学习平台中使用了FJ08-N摇杆作为主要的输入方式,不仅可以用于游戏的操控,还可以制作控制LCD显示的全屏指针以及通过USB连接到电脑的”鼠标“功能。 
 + 
 +{{ :​rp2040gamekit.jpg |基于RP2040设计的嵌入式系统学习平台}} <WRAP centeralign>​ 基于RP2040设计的嵌入式系统学习平台</​WRAP>​ 
  
 ### 1. 介绍 ### 1. 介绍
行 13: 行 16:
  
 ### 2. 工作原理 ### 2. 工作原理
-{{ :​fj08n_sch.png |}}  <WRAP centeralign>​ 内部两个电位计,阻值为5KΩ ~ 100KΩ </​WRAP>​+{{ :​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驱动]]