Heath's Blog

There is no end, it is just the beginning! - A Game Developer's Notes

Arduino实践——用PS3手柄遥控你的玩具

          趁着过年放假前的空闲时间,开始着手实现在“Arduino实践——遥控4WD小车”一文中提到过使用PS3手柄作为遥控器的方案,因为过年没有带笔记本回家,现在来补一下。

          首先要介绍一下USB Host Shield[1]。它是Oleg从2009年春开始设计的Arduino Shield,采用MAX3421E控制芯片,目前最新版本为2.0,旨在让Arduino能够与USB设备(如,键盘、鼠标、游戏手柄、相机、GPS、手机)进行通讯,当然也能完成ADK的功能。在软件方面,Oleg也在github上开放了驱动代码和例子程序[2],此后又有人基于前者的代码给出了更为方便简洁的USB蓝牙适配器与PS3手柄通讯的示例代码[3,4]。

image

           PS3手柄只能与具有相同蓝牙地址的主机配对,所以需要先将USB蓝牙适配器的地址写入PS3手柄。可以使用[3]中的PS3Pair代码,将BDADDR值修改为蓝牙适配器的地址。[4]中提供的PS3BT例子,将蓝牙地址修改和通讯功能整合到了一起,省了一次sketch的upload,注意也需要将代码中的my_bdaddr修改为适配器的地址。配对时需要将PS3手柄连接线与USB Host Shield相连,待完成后将蓝牙适配器接上,打开手柄,可从Serial Monitor看到日志(注意波特率的一致)。

imageimage

        USB Host Shield占用了SPI、P9、P10,注意不要冲突了。

 

Reference:

[1] http://www.circuitsathome.com/arduino_usb_host_shield_projects

[2] https://github.com/felis/USB_Host_Shield_2.0

[3] https://github.com/Lauszus/PS3-Controller-BT-Library-for-Arduino

[4] https://github.com/TKJElectronics/USB_Host_Shield_2.0

posted on 2012-02-02 23:33 Heath 阅读(9608) 评论(4)  编辑 收藏 引用 所属分类: Arduino

Feedback

# re: Arduino实践——用PS3手柄遥控你的玩具 2012-02-07 10:14 fseraph

你的RSS输出还是和其他人给混在一起的。。。。  回复  更多评论   

# re: Arduino实践——用PS3手柄遥控你的玩具 2012-02-28 11:13 牛逼啦

看到你2004年写的程序,通过作者简介找到了你CSDN博客,
去了CSDN发现你来了这里
膜拜大牛,博客已经收藏!!!  回复  更多评论   

# re: Arduino实践——用PS3手柄遥控你的玩具 2012-07-07 23:41 李涛

求助一个问题,不知是否可以帮忙,万分感谢。

我现在需要用USB Host抓取键盘的按键信息,再通过蓝牙连接发送到Mac电脑上,最终实现的就是能将任意键盘变成无线的,找不到相关的资料,大神可否帮忙?感谢。  回复  更多评论   

# re: Arduino实践——用PS3手柄遥控你的玩具[未登录] 2012-07-10 13:00 Heath

@李涛
arduino再配个蓝牙模块,最关键是Mac无线外设的通讯协议,需要让Mac认为蓝牙设备是个无线键盘,你可以找找这方面的公开资料。  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理