YFROBOT创客社区

标题: PS2无线手柄,配对解码通讯常见问题汇总 [打印本页]

作者: aosini    时间: 2016-7-13 09:08
标题: PS2无线手柄,配对解码通讯常见问题汇总
Q1:接收器用多少伏供电?
A:3.3V~5V都是可以的,但是如果电源接感性负载时(如舵机),因电源拨动大,接收器易被烧坏。现在我们提供PS2转接板,这样大大降低了因接感性负载而被烧坏的可能。
Q2:如何判断,手柄和接收器是好的,能够正常配对?   
A:主要确定手柄能否正常配对,即只给接收器接VCC和GND,不接其它数据线,都通电时,接收器灯一直闪,说明配对不成功。灯不闪,说明手柄接收器配对成功,说明手柄和接收器是好的。
Q3:使用UNO和PS2通讯时,串口输出失败提示,怎么回事?
A:提示未检测到控制器,或其它信息,多数是由于接线问题而导致的。首先确定手柄能否正常配对,看问题2(Q2),这时多数都是因为接线问题而导致的手柄配对不成功,或提示错误信息。这时需要仔细检查接线是否正确。请看《PS2解码通讯手册》中第1节,接收器引脚顺序及定义,再结合自己的程序看一下。
Q4:使用UNO和PS2通讯时,如何使手柄震动?  
A:我们提供的例程,默认不震动。Arduino例程20行左右有如下图所示程序;
[attach]1431[/attach]
将注释的部分调换一下,
#define pressures   true
//#define pressures   false
#define rumble      true
//#define rumble      false
这样就可以通过按X键的速度,输出不同的震动幅度,并可以通过按左侧“上下左右”按键的力度,输出不同的模拟值(0~255)。
Q5:使用UNO和PS2通讯时,程序配置正确,但还是无法输出摇杆模拟值?   
A:拨动摇杆时,需同时按L1或R1,这样才能输出摇杆模拟值。
Q6:移植STM32程序后,按MODE键,MODE指示灯无反应?   
A:这是由于程序的设定,看文件pstwo.c中第200行左右,函数
void PS2_TurnOnAnalogMode(void),在此函数中修改参数,就可以设定MODE键。
Q7:使用Arduino库时,无法选择MODE灯,是不是手柄有问题?
A:手柄没有问题。库在初始化的时候已经对手柄进行了配置,使手柄无法进行模式选择。
Q8:MODE灯的意义?
A:因手柄的供应商不同,模式灯有所区别,但无外乎就两种模式。现有手柄MODE灯意义如下:
1、模式灯是“绿灯模式”和“灭灯模式”;
2、ID值没有改变,“0x41=灭灯模式,0x73=绿灯模式”;
3、绿灯模式时:左右摇杆发送模拟值,0x00~0xFF之间,且摇杆按下的键值L3、
                       R3有效;
     灭灯模式时:左右摇杆模拟值为无效,推到极限时,对应发送UP、RIGHT、   
                       DOWN、LEFT、△、○、╳、□,按键L3、R3无效。
Q9:PS2在使用过程中会无缘无故的断线,重新连接?
A:手柄和接收器重新连接的原因是多种的。1:接收器的电源不稳定,系统受负载的变化,导致电源不稳定;接线不牢靠,小车颠簸,导致的接线松动,使得小车从新连接。2:手柄中的电池电量不足所导致的,尤其是再使手柄震动的时候,手柄和接收器会断开连接。
Q10:手柄和接收器过一段时间会断开连接?   
A:这时由于手柄和接收器长时间(大约5分钟)未进行按键通讯,导致手柄和接收器断开连接,这时手柄进入休眠状态,因产品的批次不同,这时候手柄接收器的POWER灯有可能是电亮状态,按START,恢复配对状态。
Q11:程序里如何判断连接状态,而不是通过看led灯状态认为判断?   
A:看《ps2解码通讯手册》中,第一节,数据顺序及意义这一段内容,看在通讯时检测手柄是否发送来"0x5A",来判断是否连接成功。


作者: lostage0xff    时间: 2016-7-27 21:15
程序里面有没有可以读连接状态的,而不是通过看led灯状态认为判断
作者: aosini    时间: 2016-7-28 08:19
lostage0xff 发表于 2016-7-27 21:15
程序里面有没有可以读连接状态的,而不是通过看led灯状态认为判断

是可以的,看《ps2解码通讯手册》中,第一节,数据顺序及意义这一段内容,看在通讯时检测手柄是否发送来"0x5A",来判断是否连接成功。
作者: lostage0xff    时间: 2016-8-1 10:52
aosini 发表于 2016-7-28 08:19
是可以的,看《ps2解码通讯手册》中,第一节,数据顺序及意义这一段内容,看在通讯时检测手柄是否发送来" ...

谢谢啊,马上去试下
作者: honshan    时间: 2016-9-11 11:28
学习学习,
作者: human239    时间: 2018-5-7 10:48
我用的ARDUINO,手柄可以配对,绿灯亮,接线也没问题,但是程序提示手柄模式不匹配或者没找到手柄,打开调试看接收的数据全是FF,这是什么问题
作者: lfwjx1997    时间: 2020-5-8 15:49
human239 发表于 2018-5-7 10:48
我用的ARDUINO,手柄可以配对,绿灯亮,接线也没问题,但是程序提示手柄模式不匹配或者没找到手柄,打开调 ...

不断重启Arduino板子,基本重启四五次就能匹配到




欢迎光临 YFROBOT创客社区 (http://yfrobot.com.cn/) Powered by Discuz! X3.1