2.PS2手柄遥控测试

您当前位置: 首页 > Omniduino智能小车 > 7.综合遥控课程

2.PS2手柄遥控测试.zip  点击下载

学习目标:了解PS2手柄,学习PS2手柄通讯协议,串口打印通讯手柄按键信息。

 

一、注意事项

1.本次的PS2手柄使用的是PS2X_lib库协议,请与配套的手柄和接收器一起使用,不一定匹配其他类似的手柄。

2.omniduino小车主板内置一个PS2手柄接收器底座,接收器与底座具有一定防反插功能,请对准接口插入即可。

image.png

 

 

二、引脚说明

1.PS2手柄总共有六个引脚需要连接,可以查看硬件速查表里面的引脚对应关系。

image.png

VDD连接3.3V,GND接地。

 

image.png

image.png

三、运行应用实例

1.打开PS2X_lib库的应用实例。File->Examples->PS2X_lib->PS2X_Example,库文件里的实例都是只读,点击Save As保存到其他位置。

image.png

2.根据硬件速查手速修改PS2手柄引脚对应关系。

image.png

3.修改波特率为9600,并且打开右上角的串口助手。

image.png

4.按照经验第一次这样是无法连接成功的,会提示找到未知控制器。此时遥控也是无法正常输出数据。

image.png

5.解决方法:按一下小车的复位按键,然后不停得按PS2手柄的START按键,直到弹出正确信息。

image.png

6.现在按键就可以在串口上弹每一个按键的调试信息,可以查看里面的源码看看每一个操作的功能是如何实现的,下一节课我们将来定义小车的控制功能,实现PS2手柄控制omniduino全向小车。

image.png

四、主要代码解释

1.PS2初始化函数,前面四个参数输入对应的引脚,pressures设置为true则按下方向键有输出模拟值,rumble设置为true,则按下X按键时,手柄会震动。

image.png

image.png

2.ps2x.readType函数,主要读取连接的控制器类型,我们使用的手柄需要type=1才可以正常遥控。

image.png

3.loop函数里检测按钮是否按下,按下则打印数据。

image.png

4.要输出摇杆的数据,要先按住L1或者R1按键。

image.png