如何创建一个DualShock4控制的Arduino

电子说

1.3w人已加入

描述

步骤1:收集硬件

控制器

控制器

控制器

控制器

控制器

这是使用DualShock 4控制器控制Arduino所需的全部硬件:

1。 Arduino Uno-微控制器板,允许用户运行自己的自定义固件。

2。 USB 2.0 Host Shield-这是必须的。 USB Host Shield位于此处,位于Ardiono Uno的顶部,并支持许多USB设备。

3。 USB蓝牙加密狗-有与USB Host Shield兼容的蓝牙加密狗列表,其中许多非常小巧且便宜。我在这里有我的亚马逊。

4。 DualShock 4控制器-该控制器通过与Sony的PlayStation 4视频游戏机的蓝牙连接来工作。借助USB Host Shield库,我们可以完全访问控制器的许多按钮,操纵杆,触发器,陀螺仪,加速度计和LED。控制器使用Micro USB电缆充电,因此也可以通过有线方式将控制器与开发板一起使用,但是我们对无线功能感兴趣。

5。具有USB端口的计算机-Arduino需要另一台计算机为其编写程序,并需要串行连接才能写入Arduino板。通过芯片上的USB B端口将Arduino连接到计算机。此USB连接可提供与主板的电源和串行通信。为了简单起见,对于任何与软件相关的步骤,我将假定您使用的是Windows PC。在Mac和Linux中,只需很少的额外工作即可完成以下所有操作。如果遇到任何兼容性问题,请使用Google查找特定于操作系统的解决方案,我保证它们都存在。

步骤2:安装Arduino软件

控制器

如果尚未安装,请在此处下载并安装Arduino IDE 1.0.5。该软件允许您为Arduino编写程序并将其上传到开发板上。链接USB Host 2.0库也需要该软件,该库提供了与DualShock 4控制器进行通信的代码。请记住下载适用于您特定操作系统的文件并将Arduino IDE安装在您可以找到的位置。

Arduino IDE非常简单,顶部有几个按钮可以打开,保存和创建项目文件。 “验证”按钮将从IDE中打开的项目中编译C代码,如果通过USB连接到计算机,则“上传”会将代码编译并加载到Arduino上。您可以查看“文件”-》“示例”以找到一些示例代码,以帮助您快速入门。

步骤3:安装USB 2.0 Host Shield库

控制器

控制器

控制器

下载通过单击右侧的最后一个按钮“下载为.zip”按钮,从GitHub中下载库。获得.zip文件后,将其移动到“ Arduino”安装文件夹中的“ Libraries”文件夹,解压缩文件,然后删除“。”。从文件夹名称。将文件夹保留在此处,然后打开您的Arduino IDE窗口(如果已打开)。要在Arduino IDE中链接库,请转到“草图-》导入库”并浏览文件窗口以找到该文件夹。完成后,“文件”-》“示例”-》“ USB_Host_20_Libs”将包含我们与USB Host Shield,蓝牙软件狗和DualShock 4控制器进行通信所需的所有代码。请查看一些示例,尤其是“ Bluetooth”文件夹中的“ PS4BT”示例。

第4步:组装硬件

控制器

控制器

将蓝牙加密狗插入USB主机护罩的USB端口。将Arduino Uno上的USB屏蔽设置成正确的引脚,然后将它们轻轻推在一起。一旦我们在其上安装了代码,这台小型计算机将与控制器通信。要将Arduino连接到计算机,请使用USB电缆。查找

步骤5:运行程序!

提供的示例代码显示了如何从控制器读取输入,我迅速模拟了一些可播放的代码控制器上的LED。通过按D-pad上的向上按钮,您可以在基于陀螺仪读数和右指尖以及左扳机组合改变颜色之间进行切换。

在Aurduino IDE中打开led_demo.ino,然后点击“验证看到它可以编译。确保您的Arduino Uno,USB防护罩和蓝牙加密狗已组装好,并通过USB将其连接到计算机。单击“上传”,然后等待代码完成向Arduino的写入。看到完成后,请转到下一步打开串行终端。

步骤6:通过串行终端获取调试信息

控制器

控制器

Arduino创建了一个串行通信连接来与主机进行通信。此连接主要用于将编译后的代码直接上传到Arduino,但也可以用于显示板上发生的输出信息。

PuTTY是一种工具,可促进多种类型的终端通信,例如串行通讯,一个相当简单的协议。从网站上下载PuTTY。安装并运行PuTTY,在“连接类型”下选择“串行”,然后选择Arduino所在的正确COM端口。在Windows上,要找到您的Arduino在哪个COM端口上,请找到“设备管理器”(在“控制面板”下搜索),然后查看“ COM”下列出的设备,其中之一应该是您的Arduino!现在,在Arduino代码中输入相同的速度值(Serial.begin(115200);是开始串行连接的行,PuTTY中的默认波特率是9600)。

Arduino软件打开有效的串行连接后,将无法将任何代码上传到板上,因此请确保在要更新代码时退出串行终端。随时将设置保存在PuTTY中,以便更轻松地快速打开串行连接。

一旦代码加载到Arduino,打开与主板的串行连接。您应该看到顶部印有“ PS4 Bluetooth Library Started”行。如果不是,请尝试按板上的“重置”按钮,或将串行连接重新配置为正确的COM端口和波特率。

第7步:测试程序

只有在打开串行连接后,Arduino才会与蓝牙软件狗连接。如果您想让Arduino在没有连接的情况下运行,只需注释掉初始化Serial对象和所有打印语句的代码即可。串行连接打开后,蓝牙加密狗进入搜索模式,在其中寻找要配对的控制器。按住控制器上的“共享”和“ PS”按钮,使LED以一种模式快速闪烁,这意味着它正在寻找新的连接。如果LED闪烁,则说明它正在寻找控制台,只需按住PS按钮10秒钟即可随时关闭控制器。如果控制器连接成功,您会发现LED保持稳定。摇动控制器(小心!)以观看陀螺仪改变LED的颜色,或在D-pad上按“向上”以使用右指杆和左触发器在不同颜色之间循环。按“ X”可将RGB值打印到串行终端。

这只是您可以使用控制器执行的操作,现在由您来编写自己的惊人代码!

步骤8:结论

这就是将PS4 DualShock 4控制器连接到Arduino的方式!如果有读者还在学习如何使用Arduino,我会尝试介绍一些基础知识,因此希望它不会因无关的信息而陷入困境。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分