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

    文章

    15217

    浏览量

    171156
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184826
收藏 人收藏

    评论

    相关推荐

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

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

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

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 669次阅读
    如何使用<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 443次阅读
    如何使用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 1次下载
    <b class='flag-5'>Arduino</b>和Android窗帘<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>物联网

    ESP8266FS ARduino IDE如何创建可以直接下载的SPIFFS文件?

    直在使用 ESP8266FS ARduino IDE 插件将文件写入 SPIFFS。我想知道如何在不使用 Arduino IDE 插件的情况下通过创建
    发表于 06-09 07:33

    用esp8266触摸arduino上的按钮,点亮LED距离,它将连接到另一个没有arduino的esp8266可能吗?

    大家好!我想用esp8266触摸arduino上的按钮,点亮LED距离,它将连接到另一个
    发表于 05-23 07:44

    esp8266 arduino创建线程,为什么找不到?

    我刚注册到这个论坛并试图在 esp8266 arduino 论坛中创建线程,但我在那里看不到它。在我的控制面板中,我可以在订阅选项卡中看
    发表于 05-10 13:31

    使用 Arduino Nano 创建基于 DCO 的音频合成器

    在这个项目中,学习使用Arduino Nano或Arduino Uno创建数字控制振荡器或基于DCO的音频合成器。 我喜欢音乐,我也喜欢电子。 多年来,我一直在制造音乐电子设备,主要是
    的头像 发表于 05-03 16:03 1283次阅读
    使用 <b class='flag-5'>Arduino</b> Nano <b class='flag-5'>创建</b>基于 DCO 的音频合成器

    如何为Esptool-ck创建GUI?

    我使用 Red 编程语言( )为 Esptool-ck 创建 GUI: https: Esptool-ck 是程序用 C 语言
    发表于 04-28 07:14