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

Arduino 游戏控制器

组件和用品

SparkFun Pro Micro - 5V/16MHz
× 1
Arduino Leonardo
× 1
SparkFun 按钮开关 12mm
× 12
电阻 10k ohm
× 1
定制蚀刻 PCB
× 1
UTSOURCE 电子零件
× 1

必要的工具和机器

氯化亚铁粉
3D 打印机(通用)
电钻/驱动器,无绳

应用和在线服务

Arduino IDE
Autodesk Fusion 360

关于这个项目

视频

介绍

所以这篇文章将是关于 “DIY 游戏 USB 控制器” 我们最近在 ElectroPunkz 实验室一直在研究这一点。

这里的想法是制作一个廉价的基于 Atmega32U 的 USB 控制器,带有按钮和模拟操纵杆,可用于玩游戏

NFS、GTA、半衰期、LITTLE Fighter 2!

我们制作了两种形式的控制器,第一种是基于 PS1 或 SNES 配置的,另一种是带有模拟摇杆和按钮的直接 Xbox USB 控制器(尚未最终确定)

我们将在这篇文章中制作 V1,即 PS1 布局控制器!

最好先看项目的视频-

材料

硬件很简单,很容易得到(除了PCB,你可以用随附的PCB PDF文件自己制作)

  • Arduino Leonardo/ Pro Micro/ Atmega32U
  • 按钮(滴答声开关)
  • 定制蚀刻 PCB(附有按钮矩阵 PDF)
  • 10K 电阻器
  • 跳线

谢谢 UTSOURCE.net 为该项目提供电子元件! 你可以查看 UTSOURCE.net,他们处理各种电子元件,例如这个项目中使用的所有元件!

构建过程 (接线、组装 , 等)

我们需要做的第一件事是准备基本设置,它基本上是 12 个按钮在下拉配置中与 Pro Micro 连接,基本上是这样-

我们在面包板上对此进行了测试,然后根据上述原理图准备了一块 PCB。

制作 PCB 后(以 OrCad 节奏),我们将其顶层的 PDF 打印在光面纸上。

我根据 PCB 的形状切割光面纸并将其放在覆铜板上并对其加热,以将油墨从光面纸转移到覆铜板上。 (基本音调传输方法,观看我关于这个主题的视频)

准备好 PCB 后,我们将其放入蚀刻溶液中并蚀刻 PCB,之后,我们只是为组件钻孔,以及我们的 DIY 游戏控制器 PCB 准备好了!

然后我们就按照原理图把所有的东西都放在上面,电路就准备好了。

在准备好电路后,我们在 Fusion360 中为控制器设计并 3D 打印了 PCB 外壳/外壳。

现在我们只需要上传代码并用它玩一些游戏。

代码

上传 Pro Micro 上提供的代码。

忠告,首先彻底测试您的电路板/设置,检查 PCB 走线的电阻和连接性,因为如果缺少某些东西,这将导致大量键盘错误,因为缺少地线会向引脚发送不规则信号,而您的专业微型将保持按下随机键,这将使重新编程 Pro micro 变得非常困难。

测试

您需要做的第一件事是打开记事本,然后开始按下控制器的按键并检查按键上的按键是否显示正确的指定单词

或者只使用任何键盘测试应用或网络应用。

如果一切都按照代码运行,然后打开任何游戏开始玩这个 DIY 游戏控制台!

观看视频-

进一步改进

好吧,我要添加到此设置中的第一件事是模拟操纵杆,用于玩适当的游戏,它使用鼠标来导航播放器,有点像 XBOX ONE 控制台。

V2 将有一个带有 XBOX One 控制器布局的适当 PCB,敬请期待。

如果你们有任何问题,请发表评论!

代码

  • 代码
CODEC/C++
#include int WPin =2; // UP int SPin =3; // DOWNint APin =4; //左 int DPin =5; //RIGHTint UPLpin =7; //左上Qint UPRpin =9; //右上角int Xpin =14;//xint Apin =10; //iint Ypin =15;//yint Bpin =16;//bvoid setup(){ pinMode(WPin, INPUT);引脚模式(旋转,输入); pinMode(APin,输入); pinMode(DPin,输入); pinMode(UPLpin,输入); pinMode(UPRpin,输入); pinMode(Xpin,输入); pinMode(Apin,输入); pinMode(Ypin,输入); pinMode(Bpin,输入);数字写入(WPin,高);数字写入(旋转,高);数字写入(APin,高);数字写入(DPin,高);数字写入(UPLpin,高);数字写入(UPRpin,高);数字写入(Xpin,高);数字写入(Apin,高);数字写入(Ypin,高);数字写入(Bpin,高);键盘开始(); }void loop(){ if (digitalRead(WPin) ==0) { Keyboard.write('W');延迟微秒(1); } if (digitalRead(SPin) ==0) { Keyboard.write('S');延迟微秒(1); } if (digitalRead(APin) ==0) { Keyboard.write('A');延迟微秒(1); } if (digitalRead(DPin) ==0) { Keyboard.write('D');延迟微秒(1); } if (digitalRead(UPLpin) ==0) { Keyboard.write('q');延迟微秒(1); } if (digitalRead(UPRpin) ==0) { Keyboard.write('e');延迟微秒(1); } if (digitalRead(Xpin) ==0) { Keyboard.write('x');延迟微秒(1); } if (digitalRead(Apin) ==0) { Keyboard.write('i');延迟微秒(1); } if (digitalRead(Ypin) ==0) { Keyboard.write('y');延迟微秒(1); } if (digitalRead(Bpin) ==0) { Keyboard.write('b');延迟微秒(1); }} 

定制零件和外壳

示意图


制造工艺

  1. Arduino Gyroscope Game with MPU-6050
  2. Arduino 数字骰子
  3. 自制 16x8 矩阵上的 Arduino Nano 俄罗斯方块游戏
  4. Arduino 供电的水壶
  5. 像素追逐游戏
  6. 由 Alexa 激活的 Arduino 家庭控制器
  7. NeoMatrix Arduino Pong
  8. 智能手套
  9. 带 WS2812 LED 灯条的 DIY Arduino 1D 乒乓球游戏
  10. Arduino DMX-512 测试控制器
  11. LED 轮盘游戏
  12. Arduino GrowBox 控制器