0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何创建一个DualShock4控制的Arduino

454398 来源:wv 2019-09-26 09:54 次阅读

步骤1:收集硬件

如何创建一个DualShock4控制的Arduino

这是使用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,我会尝试介绍一些基础知识,因此希望它不会因无关的信息而陷入困境。

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

    关注

    112

    文章

    15450

    浏览量

    173124
  • Arduino
    +关注

    关注

    185

    文章

    6434

    浏览量

    185337
收藏 人收藏

    评论

    相关推荐

    请问下FREERTOS只能创建4任务,修改哪个宏定义可以增加创建任务的数量?

    请问下FREERTOS只能创建4任务,修改哪个宏定义可以增加创建任务的数量?解决方法:增加FREERTOS的堆。
    发表于 05-13 06:44

    如何使用Arduino设置热敏电阻来创建温度计

    在本教程中,我们将指导您如何使用Arduino设置热敏电阻以创建基本温度计。提供的原理图、试验板图和示例代码将使热敏电阻工作变得简单明了。
    的头像 发表于 02-11 10:37 1263次阅读
    如何使用<b class='flag-5'>Arduino</b>设置热敏电阻来<b class='flag-5'>创建</b>温度计

    如何使用Arduino控制RGB LED

    在本指南中,您将学习如何使用Arduino控制RGB LED。RGB(红-绿-蓝)LED可以通过混合不同强度的红、绿、蓝光来产生多种颜色。您将学习创建一个基本Arduino RGB L
    的头像 发表于 02-11 10:28 2233次阅读
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>RGB LED

    如何使用Arduino UNO板和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 1044次阅读
    如何使用<b class='flag-5'>Arduino</b> UNO板和电位器<b class='flag-5'>控制</b>伺服电机

    基于WiFi的Arduino网络控制方案

    电子发烧友网站提供《基于WiFi的Arduino网络控制方案.rar》资料免费下载
    发表于 11-10 10:30 0次下载
    基于WiFi的<b class='flag-5'>Arduino</b>网络<b class='flag-5'>控制</b>方案

    怎么用arduino控制舵机转动定角度?

    怎么用arduino控制舵机转动定角度
    发表于 10-18 06:16

    如何使用Python和PinPong库控制Arduino

    与传感器和其他物理设备集成的应用程序。如果您已经掌握了Python的基础知识,那么您可以通过使用Python来控制Arduino来入门。本文目的主要是向您展示如何使用PinPong库通过Python
    的头像 发表于 10-13 10:59 542次阅读
    如何使用Python和PinPong库<b class='flag-5'>控制</b><b class='flag-5'>Arduino</b>

    基于arduino设计的手势控制小车

    基于arduino的手势控制小车
    发表于 09-25 06:06

    Arduino的PWM控制代码

    如果你需要具体的代码示例,我可以为你提供Arduino的PWM控制代码。
    发表于 09-21 08:57

    Arduino和Android窗帘控制

    电子发烧友网站提供《Arduino和Android窗帘控制.zip》资料免费下载
    发表于 07-12 10:01 2次下载
    <b class='flag-5'>Arduino</b>和Android窗帘<b class='flag-5'>控制</b>

    Arduino球和光束控制系统

    电子发烧友网站提供《Arduino球和光束控制系统.zip》资料免费下载
    发表于 07-10 11:28 0次下载
    <b class='flag-5'>Arduino</b>球和光束<b class='flag-5'>控制</b>系统

    制作Arduino控制的机器人

    电子发烧友网站提供《制作Arduino控制的机器人.zip》资料免费下载
    发表于 07-06 14:21 0次下载
    制作<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>的机器人

    使用Android和Arduino创建物联网

    电子发烧友网站提供《使用Android和Arduino创建物联网.zip》资料免费下载
    发表于 07-05 09:43 0次下载
    使用Android和<b class='flag-5'>Arduino</b><b class='flag-5'>创建</b>物联网

    DIY安卓+Arduino控制迷宫游戏

    电子发烧友网站提供《DIY安卓+Arduino控制迷宫游戏.zip》资料免费下载
    发表于 06-29 14:53 0次下载
    DIY安卓+<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>迷宫游戏

    如何制作Arduino蓝牙控制的汽车

    电子发烧友网站提供《如何制作Arduino蓝牙控制的汽车.zip》资料免费下载
    发表于 06-26 10:21 0次下载
    如何制作<b class='flag-5'>Arduino</b>蓝牙<b class='flag-5'>控制</b>的汽车