亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Joystick

组件和用品

旋转电位器(通用)
× 1
Arduino UNO
× 1
面包板(通用)
× 1

必要的工具和机器

激光切割机(通用)
Arduino Materia 101
3D 打印机(通用)

应用和在线服务

Arduino IDE

关于这个项目

Arduino操纵杆+飞行创作

在本文中,我们将使用 Arduino 实现一个项目。具体来说,我们将制作一个模拟操纵杆的方向盘。

它就像一个可以在 Steam 上使用的控制器(数字权限管理、多人游戏和通信模式)。我认为运行这个项目是一场充满激情的赛车,总是用键盘或操纵杆玩它总是和我在亚马逊上比较驾驶模拟器一样,但价格有点高。我已经玩了几天了。如果您对如何改进此项目有任何建议,请随时与我联系!!!

你打算把 Arduino 变成控制器吗?

文章计划烧写 Arduino 通信芯片,使其可识别为 USB 游戏手柄。该程序是安全且可逆的,但在任何情况下,如果出现问题或故障,我不承担任何责任。

首先下载最新版本的 UnoJoy,该库借助特殊固件将变成可检测为 USB 游戏杆的设备。要使用 UnoJoy,您首先需要通过运行您在刚刚下载的文件夹中找到的 InstallUnoJoyDrivers.bat 文件来安装适当的驱动程序。

我们还需要安装我们的“UnoJoy”库使用的 ATmel FLIP 工具,以便在 Arduino 通信芯片上刷新固件。

你打算在Arduino上加载固件吗?

首先,将 Arduino 置于 DFU(设备固件更新)模式,通过在 USB 插座旁边的六个突出引脚组(您可以看到图中的两个引脚)前面的两个引脚之间进一步步进,我们有在 Arduino 上刷固件。通过在两个引脚之间建立接触,各种 Arduino LED 将短暂亮起。现在你必须运行UnoJoy TurnIntoAJoystick.bat文件,在断开并重新连接Arduino计算机后,它会被检测为JoyStick而不是Arduino。回到拥有标准 Arduino 的过程是相同的,但这次运行的文件是 TurnIntoAnArduino.bat。

简单的控制器

为了构建一个控制器,在我们的例子中,它是一个方向盘的结构,我们需要一个连接在引脚 A0 上的 10K 欧姆电位器(见下图)。相反,您将代码转发到 UnoJoy 库,因此您必须将文件 UnoJoy.h 复制到您将保存草图的文件夹中。

在 Steam 上玩

完整的 Steam 作为 XBOX360 的游戏手柄,有一个程序能够将 USB 控制器映射到虚拟 XBOX360 的游戏手柄上:x360ce。根据您要玩的游戏下载 64 位或 32 位版本。解压后,将文件 x360ce.exe 复制到包含游戏可执行文件的文件夹中,启动刚刚复制的 x360ce.exe,这将是 USB JoyStick 的存在。

如果你也想制作一个方向盘,我在我的 YouTube 频道上制作了一个视频教程,下面有链接。

如果您有任何问题,可以根据建议在这里与我联系或在 Youtube 视频下发表评论。

返回更新的未来项目订阅频道点击“这里”!!

代码

  • 代码
代码C/C++
/* Arduino USB Joystick HID 演示 *//* 作者:Darran Hunt 发布到公共领域。 RICLAMER 于 25/03/2014 更新以使用模拟端口和数字端口 此代码将与 Arduino UNO(6 轴和 13 按钮)一起使用 此代码与 Arduino Mega 兼容。*//* 安装只需在每个端口中安装 POT模拟端口。使用 _Grnd _Analog _5V Arduino。像这张图片:http://arduino.cc/en/uploads/Tutorial/joy_sch_480.jpg 要设置按钮,只需在 GND 和 Port Digital 02~13 下安装您喜欢的按钮开关。使用 Flip 擦除和刻录此固件 DFU:https://github.com/harlequin-tech/arduino-usb/blob/master/firmwares/Arduino-big-joystick.hex 我将 Arduino R3 与 Atmega 16U2 一起使用。*/# undef DEBUG#define NUM_BUTTONS 40 // 你不需要改变这个值#define NUM_AXES 8 // 6 轴为 UNO,8 轴为 MEGA。如果您使用的是 UNO,则不需要更改此值。typedef struct joyReport_t { int16_t axis[NUM_AXES]; uint8_t 按钮[(NUM_BUTTONS + 7) / 8]; // 每字节 8 个按钮} joyReport_t;joyReport_t joyReport;uint8_t btn[12];int fulloff =0;void setup(void);void loop(void);void setButton(joyReport_t *joy, uint8_t button);void clearButton(joyReport_t *joy, uint8_t button);void sendJoyReport(joyReport_t *report);void setup(){ // 将引脚设置为输入按钮 for ( int portId =02; portId <13; portId ++ ) { pinMode( portId, INPUT_PULLUP);串行开始(115200);延迟(200); for (uint8_t ind =0; ind <8; ind++) { joyReport.axis[ind] =ind * 1000; } for (uint8_t ind =0; ind button[index] |=1 <button[index] &=~(1 < 

定制零件和外壳

volante_iDt4RqmPLZ.dwg volante_idt4rqmplz_hakHRvVNYD.dxf

示意图


制造工艺

  1. Arduino 数字骰子
  2. 操纵杆控制的遥控车
  3. 钢铁侠
  4. 摇杆游戏
  5. 找到我
  6. Arduino 3D 打印机械臂
  7. Arduino 加湿器控制
  8. 非接触式温度监控门
  9. NeoMatrix Arduino Pong
  10. Arduino TEA5767 FM 收音机接收器
  11. 计步器(Arduino 101)
  12. Arduino 混色器