Arduino Atari 适配器
组件和用品
![]() |
| × | 1 |
必要的工具和机器
![]() |
|
应用和在线服务
![]() |
|
关于这个项目


最近我对老式计算机技术越来越感兴趣。最有趣和最有影响力的经典技术之一是 Atari 2600,它于 1977 年首次发布。不幸的是,我小时候从来没有机会玩这个,主要是因为当我长大到可以说话的时候它已经超过20岁!
最近,我进行了一些挖掘,并设法以相当不错的价格在网上找到了其中一个,但与许多旧技术一样,当我插入它时,它只是噗 .
这是玩和收集旧技术的风险之一。因为它太旧了,不能保证它会起作用,你最终可能会花很多钱只是为了让你的房子冒烟。显而易见的解决方案是下载一个可以模拟旧系统的 Atari 模拟器。在大多数情况下,这很好用;然而,感觉不如在原始硬件上玩那么真实,尤其是因为键盘。
所以我认为一个很好的解决方案是制作一个适配器,允许我们将原始 Atari 控制器插入我们的计算机并以这种方式播放,这就是我们将在这个项目中构建的内容!
第 1 步:查看控制器内部




因此,我们需要做的绝对第一件事就是看看 Atari 控制器的工作原理,以便我们了解如何将其适配到 USB。
所以当我打开我的时,我震惊地发现它只有 5 个按钮!没有不是 5 个按钮和一个控制电路,只有 5 个按钮。这意味着使用微控制器可以非常轻松地将其适配到 USB。
当我把它拆开的时候,我也花了一些时间清理掉所有的垃圾,把所有东西都清理干净。
第 2 步:我们需要什么


现在,在我们进入零件清单之前,值得注意的是,该项目不适用于 Arduino Uno、Nano 或 Mega。我们需要一个可以充当 HID(人机接口设备)的微控制器。带有 ATmega32U4 的微控制器能够做到这一点,我们可以在 Arduino Micro 中找到一个 ATmega32U4。
零件清单:
- Arduino Pro Micro(此处)
- 公针头
- USB 转微型 USB 数据线
- 项目外壳(我将进行 3D 打印)
第 3 步:哪些 Pin 图有什么作用?


您会看到 Atari 控制器的末端有一个 9 针连接器,控制器中的每个按钮在该连接器上都有自己的针脚,并且有一个针脚接地。这意味着,在这个 9 针连接器中,只使用了 6 针。要找出哪些引脚对应哪些按钮,我们可以拿一个万用表,设置为连续性模式,看看连接了什么。如果您不想经历麻烦,请附上我的发现的图片。
所以根据这个图我们可以看到,例如,如果我要按下控制器上的点火按钮,它会将橙色线连接到地,这是按下按钮,我们可以使用我们的 Arduino 来检测并发送回根据按下的按钮向计算机发出键盘命令。
第 4 步:案例




因此,距离最后一个 9 针连接器已经制作了很长时间,因此,我们很难在我们的适配器中找到一个可以使用的连接器。因此,大多数事情的解决方案都涉及 3D 打印。我将打印 9 针连接器的外壳,然后将一些公针头滑入其中以与 Arduino 上的 9 针连接器接触。可在下方找到可 3D 打印的文件。
我们制作这个 9 针连接器的方法是首先将公针滑入 Atari 9 针连接器,然后将我们打印的连接器滑到上面,然后最后将公针背面粘到我们打印的连接器背面。现在,当我们将连接器拉开时,针脚应该粘在我们打印的那个针脚上并完美对齐。
Atari%2BAdapter_2831_29.stl
第 5 步:连接一切

因此,要将所有东西连接起来,我们需要按如下方式进行(请记住检查哪种颜色对应于 9 针连接器上的哪个针脚):
- 黑色 电线去地 在 Arduino 上
- 橙色 电线连接到引脚 3 在 Arduino 上
- 绿色 电线连接到引脚 4 在 Arduino 上
- 棕色 电线连接到引脚 5 在 Arduino 上
- 蓝色 电线连接到引脚 6 在 Arduino 上
- 白人 电线连接到引脚 7 在 Arduino 上
如果这看起来很混乱,请查看接线图以获得更清晰的信息。
第 6 步:上传代码
我们将要使用的代码可以在下面找到。我们将在此代码中利用键盘库。发生的事情是我们有一堆 if 语句,说明如果某个按钮变低以按下相应的键盘键。
幸运的是,键盘库非常易于使用,例如编写 Keyboard.press(119); 表示正在按下键盘键 119(119 是 W 的 ascii)并且代码 Keyboard.release(119); 表示键盘键 119 现在已释放。所以我们有 If 说明引脚是否为 HIGH 的语句 按下键,如果引脚是 LOW 释放钥匙。
我们还在代码中利用了内部上拉电阻,因此我们不必担心将任何焊接到我们的电路中。如果您想了解有关代码的更多信息,请在 Arduino IDE 中打开它,您应该会看到其中大部分已被注释。
然后我们将代码上传到 Arduino Pro Micro 并继续下一步。
AtariController.ino
第 7 步:将案例放在一起



因此,上一步中的 3D 打印文件不仅具有可 3D 打印的 9 针连接器,而且还有一个顶部和底部部件,可以围绕它安装,并将所有电路封闭在其中。所以为了完成或投影,我们需要打印这两部分。
然后我们将 Arduino 粘在底部部件(带有 USB 微型电缆空间的部件)上,然后将 9 针连接器粘在底部部件的前面。一旦这些都安全且到位,我们就可以粘在上面的部分,完成项目!在我这样做之前,我实际上在内部添加了过量的热胶,因为这使它更坚固,但也增加了设备的一些重量,使其不会感觉太脆弱。
一旦这些部分都放在一起,你可能会注意到它看起来有点粗糙,特别是如果你使用像我这样的廉价 3D 打印机,为了解决这个问题并使打印看起来非常整洁,我们将打磨,然后在外面涂漆案件。我在 Atari 控制器和外壳上寻找我设备颜色的灵感,我决定制作一个带有红色条带,另一个带有一些木纹以匹配 Atari 的机身。
第 8 步:使用它


既然我们已经做到了,让我们来看看如何使用它吧!
所以,首先,我们想将 Atari 控制器插入我们的适配器,然后我们将微型 USB 电缆插入我们的计算机,您应该收到插入键盘的通知(请记住,因为计算机认为这是键盘库)是键盘)
现在key的映射方式如下:
向上 是 W
左 是 A
对了 是 D
下 是 S
和火 是 空格键
因此,您很有可能不得不进入模拟器并进行一些键绑定以确保一切正常。如果您有 OTG 数据线,这也适用于 Android 手机。
非常感谢您的阅读。如果您有任何问题,我很乐意为您解答!
代码
- AtariController.ino
AtariController.inoArduino
无预览(仅限下载)。
定制零件和外壳
Atari%2BAdapter_2831_29.stl制造工艺