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

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

3天内不再提示

怎样将USB游戏控制器添加到Arduino Leonardo / Micro

454398 来源:网络整理 作者:网络整理 2019-12-11 11:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:更新Arduino代码

首先在“%”中制作以下两个文件的备份副本PROGRAMFILES%\ Arduino \ hardware \ arduino \ avr \ cores \ arduino”文件夹:

USBAPI.h

HID.cpp

将这两个文件替换为附加文件,以向Arduino Leonardo和Arduino Micro添加通用游戏控制器

步骤2:运行测试草图

使用Arduino软件(IDE)编译附加的UsbJoystickTest.ino草图文件并将其上传到Arduino Leonardo或Arduino Micro。我已经使用1.6.1到1.6.5版本的软件对此进行了测试。对于Arduino IDE 1.6.6及更高版本,请参见以下Instructionable:Arduino Leonardo/Micro作为游戏控制器/操纵杆

以下步骤适用于Windows 7。不同的操作系统,这些步骤可能会有所不同。

步骤3:Windows控制面板-硬件和声音

怎样将USB游戏控制器添加到Arduino Leonardo / Micro

转到Windows控制面板,然后选择“硬件和声音”。

步骤4:设备和打印机

然后选择“设备和打印机”

第5步:应该出现Arduino

Arduino Micro或Arduino Leonardo应该出现在设备列表中。

第6步:Arduino设置

下一步,右键单击Arduino Leonardo或Arduino Micro以显示设置菜单。

然后选择“游戏控制器设置”以进入“游戏控制器”对话框。

步骤7:游戏控制器设置

Arduino Micro或Arduino Leonardo应该出现在已安装游戏控制器的列表中。选择Arduino Micro或Arduino Leonardo,然后单击“属性”按钮以显示游戏控制器测试对话框。

步骤8:

当此对话框为焦点时,将Arduino上的A0引脚接地以激活测试脚本。测试脚本将按以下顺序测试游戏控制器的功能:

32个按钮

油门和方向舵

X和Y轴

Z轴

2个帽子开关

X和Y轴旋转

第9步:操纵杆库

现在,由于Arduino Leonardo或Arduino Micro具有游戏杆库,因此Arduino可用于自定义游戏控制器项目。下面介绍了更新的USBAPI.h和HID.cpp文件中包含的游戏杆库。

Joystick.begin(bool initAutoSendState)

启动模拟连接到计算机的游戏控制器。默认情况下,所有方法都会立即更新游戏控制器状态。如果initAutoSendState设置为false,则必须调用Joystick.sendState方法来更新游戏控制器状态。

Joystick.end()

游戏控制器仿真到已连接的计算机。

Joystick.setXAxis(byte value)

设置X轴值。范围-127至127(0为中心)。

Joystick.setYAxis(字节值)

设置Y轴值。范围-127到127(0为中心)。

Joystick.setZAxis(byte value)

设置Z轴值。范围-127到127(0为中心)。

Joystick.setXAxisRotation(int value)

设置X轴旋转值。范围从0°到360°。

Joystick.setyAxisRotation(int value)

设置Y轴旋转值。范围从0°到360°。

Joystick.setZAxisRotation(int value)

设置Z轴旋转值。范围从0°到360°。

Joystick.setButton(字节按钮,字节值)

设置指定按钮的状态。该按钮是从0开始的按钮编号(即,按钮#1为0,按钮#2为1,依此类推)。如果按下按钮,则值为1;如果释放按钮,则值为0。

Joystick.pressButton(字节按钮)

按下指示的按钮。该按钮是从0开始的按钮编号(即按钮#1为0,按钮#2为1,依此类推。)。

Joystick.releaseButton(字节按钮)

释放指示的按钮。该按钮是基于0的按钮编号(即按钮#1为0,按钮#2为1,依此类推。)。

Joystick.setThrottle(字节值)

设置油门值。范围为0到255。

Joystick.setRudder(字节值)

设置方向舵值。范围从0到255。

Joystick.setHatSwitch(字节hatSwitch,整数值)

设置指定的帽子开关的值。 hatSwitch是基于0的(即,帽子开关#1为0,帽子开关#2为1)。值是从0°到360°,但以45°为增量。小于45°的任何值都将向下舍入(即,将44°向下舍入为0°,将89°向下舍入为45°,依此类推。)。/strong》

责任编辑:wv

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

    关注

    114

    文章

    17650

    浏览量

    190311
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195994
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCP251863 CAN FD控制器技术解析与应用指南

    )。MCP251863允许通过SPI连接到微控制器。此外,可以快速将CAN FD通道添加到缺少CAN FD外设或仅具有几个CAN FD通道的微控制器上。Microchip MCP251863外部CAN FD
    的头像 发表于 10-14 15:43 580次阅读
    MCP251863 CAN FD<b class='flag-5'>控制器</b>技术解析与应用指南

    MCP22350 USB Type-C™ PD 3.1端口控制器技术解析

    Microchip Technology MCP22350 USB Type-C™供电 (PD) 3.1端口控制器设计用作外部Microchip MCU/SoC的配套PD控制器。这些控制器
    的头像 发表于 09-30 15:26 623次阅读
    MCP22350 <b class='flag-5'>USB</b> Type-C™ PD 3.1端口<b class='flag-5'>控制器</b>技术解析

    ‌MCP22301 USB Type-C™ PD 3.1控制器技术解析与应用指南

    Microchip Technology MCP22301 USB Type-C^®^ 供电 (PD) 3.1控制器设计用于符合USB Type-C电缆和连接规范以及
    的头像 发表于 09-30 15:21 657次阅读
    ‌MCP22301 <b class='flag-5'>USB</b> Type-C™ PD 3.1<b class='flag-5'>控制器</b>技术解析与应用指南

    如何使用menuconfig添加配置micro-ros软件包?

    请问有没有最新的rtthread移植micro-ros移植使用教程,使用menuconfig添加配置micro-ros软件包?
    发表于 09-25 06:37

    如何“同步scons 配置至项目”功能添加到编译步骤中?

    我想将rt-thread studio的“同步scons配置至项目”功能添加到编译前步骤中 但是我不知道这个功能执行了什么指令,在构建前步骤中应该输入什么指令,用”scons”命令无法实现
    发表于 09-22 07:39

    ‌TPS25810 USB Type-C控制器与电源开关技术文档总结

    该TPS25810是一款 USB Type-C 下行端口 (DFP) 控制器,集成了 3A 额定 USB 电源开关。TPS25810监视 Type-C 配置通道 (CC) 线路,以确定何时连接
    的头像 发表于 08-10 10:28 1040次阅读
    ‌TPS25810 <b class='flag-5'>USB</b> Type-C<b class='flag-5'>控制器</b>与电源开关技术文档总结

    TPS25814 USB Type-C控制器技术文档总结

    TPS25814 是一款独立的 USB Type-C 控制器,可为一个 USB Type-C 连接提供电缆插头和方向检测。连接电缆后,TPS25814根据
    的头像 发表于 08-08 17:22 1067次阅读
    TPS25814 <b class='flag-5'>USB</b> Type-C<b class='flag-5'>控制器</b>技术文档总结

    Texas Instruments TPS25730 USB Type-C®和USB PD控制器技术解析

    Texas Instruments TPS25730 USB Type-C®和USB PD控制器是高度集成的独立控制器,专为支持USB-C
    的头像 发表于 08-06 11:12 1012次阅读
    Texas Instruments TPS25730 <b class='flag-5'>USB</b> Type-C®和<b class='flag-5'>USB</b> PD<b class='flag-5'>控制器</b>技术解析

    ArkUI-X添加到现有Android项目中

    aar包 在应用工程初始化ArkUI-X 通过Android studio 创建一个应用工程,将我们上述的aar包添加到工程目录下的libs目录中 Application部分 继承调用
    发表于 06-04 22:35

    基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器实例打包下载

    基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器实例打包,推荐下载!
    发表于 05-29 21:44

    ArkUI-X添加到现有Android项目中

    aar包 在应用工程初始化ArkUI-X 通过Android studio 创建一个应用工程,将我们上述的aar包添加到工程目录下的libs目录中 Application部分 继承调用
    发表于 05-28 22:44

    基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器

    基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器 项目实例下载! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请
    发表于 05-23 20:53

    如何VCP功能添加到UVC应用程序代码中?

    我正在尝试 VCP 功能添加到 UVC 应用程序代码中。 我的平台是CYUSB3011-BZXC UsbUart 示例代码已添加到现有的 UVC 应用程序中。 初始化和主循环
    发表于 05-16 06:41

    如何ENWF9408AVEF Wi-Fi模块添加到1064EVK wifi_cli SDK项目中?

    如何 松下 ENWF9408AVEF (NXP 88W8977) Wi-Fi 模块添加到 1064EVK wifi_cli SDK 项目中? 使用不同的 88W8977 定义初始化失败
    发表于 04-02 07:50

    S32K344LPUART6添加到Uart_example产生硬故障怎么解决?

    我尝试添加一个串行端口 (LPUART_6),以便能够通过 S32K3x4EVB-T172评估板上的串行转 USB 适配器输出消息。 我正在使用:S32DS 3.6.0、S32Kxx 开发
    发表于 03-20 07:25