12525浏览
查看: 12525|回复: 3

[项目] PS4手柄做Arduino的控制器

[复制链接]
本帖最后由 好奇吖斌 于 2018-2-7 16:50 编辑

       用PS4手柄做Arduino遥控器国外有比较多的帖子了(因为原创在国外的),我搜索了一下国内的社区和论坛这个的资料几乎没有,最多的就是PS2手柄,还有一些是PS3手柄做遥控器的,不过资料也不是很全面,最近弄了用PS4手柄蓝牙控制Arduino,写个教程帖分享一下吧,如果你既是PS4游戏玩家也是位创客的话,那么你可以学习一下怎么使用PS4手柄做Arduino的控制器,把手柄利用起来
PS4手柄做Arduino的控制器图1
实现PS4手柄做Arduino控制器其实很简单的,USB Host Shield库提供两种方法:
一、是用USB数据线控制,这个方法搭好硬件烧好库的例程就直接可以用了,非常简单,不过连着线不好做遥控器所以这个方法不说;
二、是用蓝牙适配器无线遥控,比较适合做一些小车、机器人的控制器,这里最关键就是蓝牙适配器的配对了,用PS4手柄做项目作品比起用PS2和手机蓝牙遥控会显得高大上!

废话不多说了,按下面做准备吧!


准备的硬件:
      - PS4手柄
      - USB蓝牙4.0适配器
      - USB Host Shield板
      - Arduino UNO


准备的软件和库:
      - Arduino IDEhttps://www.arduino.cc/en/Main/Software
      - USB Host Shield 2.0https://github.com/felis/USB_Host_Shield_2.0

PS4手柄做Arduino的控制器图2

我的PS4手柄是新款的slim,就是触摸板上带灯条的;之前买过一个蓝牙2.0的适配器发现怎么也配对不了,换成蓝牙4.0的适配器一下子就成功配对上了,我这里用了一个叫orico的蓝牙4.0适配器,听别人说绿联的蓝牙4.0适配器也行,建议买这两个品牌的;USB Host Shield我用的是全尺寸那种,还有一种迷你的没用过,Arduino板用UNO或MEGA的都行,我这里用的是经典的UNO。


安装好Arduino IDE后下载USB Host Shield库文件,右键解压到当前文件夹,USB_Host_Shield_2.0-master文件夹名改成USB_Host_Shield_2.0,不改也行,只不过好看点,然后把整个文件夹复制到Arduino IDE的libraries库文件夹里,该文件夹一般在`我的电脑-->我的文档-->Arduino-->libraries`
还有一种在线安装库文件的方法,在IDE菜单点项目-->加载库-->管理库,然后等待网络加载库列表,在搜索框输usb找到USB_Host_Shield_2.0然后安装即可,不过这个方法有时候库列表容易加载失败

PS4手柄做Arduino的控制器图5PS4手柄做Arduino的控制器图3

安装成功后重新打开软件,`文件-->示例-->USB_Host_Shield_2.0`这里可以找到我们新增的库

PS4手柄做Arduino的控制器图4

接下来我们烧录Buletooth下的BTPS4例程
我们看下面这个配对代码

[mw_shl_code=c,true]// This will start an inquiry and then pair with the PS4 controller - you only have to do this once
// You will need to hold down the PS and Share button at the same time, the PS4 controller will then start to blink rapidly indicating that it is in pairing mode
PS4BT PS4(&Btd, PAIR);

// After that you can simply create the instance like so and then press the PS button on the device
//PS4BT PS4(&Btd);[/mw_shl_code]


       默认的示例代码是第一次进行配对时把PS4BT PS4(&Btd, PAIR);这句代码注释去掉,//PS4BT PS4(&Btd);这句代码注释加上表示进入配对状态,烧录好代码再上电,此时同时按下PS4手柄上的PS和SHARE键进入配对模式,手柄LED灯会快闪,当和蓝牙适配器配对好后LED常亮,可以把原来配对的代码注释//PS4BT PS4(&Btd, PAIR);启用PS4BT PS4(&Btd);重新烧录,以后就不用再上电的时候重新进入配对模式了,就像下面那样↓

[mw_shl_code=c,true]// This will start an inquiry and then pair with the PS4 controller - you only have to do this once
// You will need to hold down the PS and Share button at the same time, the PS4 controller will then start to blink rapidly indicating that it is in pairing mode
//PS4BT PS4(&Btd, PAIR);

// After that you can simply create the instance like so and then press the PS button on the device
PS4BT PS4(&Btd);[/mw_shl_code]

下面是个随手录制的视频

本帖被以下淘专辑推荐:

hnyzcj  版主

发表于 2018-2-7 16:56:28

学习了
回复

使用道具 举报

好奇吖斌  高级技师
 楼主|

发表于 2018-2-7 23:56:59


啊哈哈哈,这个可以用来搞编程板格斗机器人的控制器啊
回复

使用道具 举报

hnyzcj  版主

发表于 2018-2-8 09:14:24

好奇吖斌 发表于 2018-2-7 23:56
啊哈哈哈,这个可以用来搞编程板格斗机器人的控制器啊

牛逼
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail