学习目标:了解PS2手柄,学习PS2手柄通讯协议,串口打印通讯手柄按键信息。
一、注意事项
1.本次的PS2手柄使用的是PS2X_lib库协议,请与配套的手柄和接收器一起使用,不一定匹配其他类似的手柄。
2.omniduino小车主板内置一个PS2手柄接收器底座,接收器与底座具有一定防反插功能,请对准接口插入即可。

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

VDD连接3.3V,GND接地。


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

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

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

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

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

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

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


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

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

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