如何使用Arduino重新创建经典的Pong游戏

Pong是有史以来第一个进入大众市场的视频游戏。 Atari 2600首次将“视频游戏"的概念带入了家庭,这是我们向这一历史瑰宝致敬的唯一权利。现在,您可以使用Arduino和一些常用组件重新体验(游戏邦注:有些无聊)

我不会撒谎–您的女儿不太可能会放弃她的Nintendo DS,这不会给整个家庭带来数小时的乐趣–但这是一个很棒且容易的项目,可以改善Arduino编码。而且,如果您只是入门,请不要忘记查看我们的初学者Arduino指南。

我们将制作两个基本控制器,视频将通过标准的复合视频电缆输出到电视上

要将这个项目提高到一个新水平,您可以3D打印外壳。 YouTube用户PotentPrintables就是这么做的!

对Arduino Pong的要求

  • 470 欧姆电阻 x1
  • 1k 欧姆电阻 x1
  • 10k欧姆电位计双可变电阻) x2
  • Arduino x1 (任何版本)
  • RCA > x1 (如果您有多个声音,您也可以连接声音。对于视频来说,声音是最小的)
  • 按钮开关 x1
  • 10k 欧姆电阻 x1
  • 您还可以从此处下载TV Out Arduino库–获取最新版本的 TVoutBeta1.zip 。将所有生成的文件夹全部放入您的 / arduino / libraries 目录,如果已打开Arduino IDE,请重新启动它。

    测试电视输出

    获取RCA塞住并剥去外层。收集屏蔽层,扭转并放在一侧。这是你的理由。在中心应该是另一根带有塑料屏蔽的电缆–再次将其剥开,以便获得信号线。这提供了一个同步信号和实际的视频信号,将它们组合在一起以产生模拟视频输入。 470欧姆电阻应插入数字IO引脚D07,而1k欧姆电阻应接入D09引脚。

    这些引脚由我们导入的库设置,因此您无法更改它们。

    现在您可以继续进行示例加载;您可以在其中加载一个Arduino GND引脚。尽管同时提供了PAL和NTSC,但它与现代数字电视并没有真正的关系-尽管在英国,NTSC演示对我来说还是不错的。插入电视,即可获得漂亮的复古3D立方体。哦-是吗?我是。

    测试模拟电位计输入

    好,我们已经使电视输出正常工作,现在让我们来介绍一下控制器。 “电位器"的接线不是那么关键–每个电位器应具有3个引脚,而中央的引脚几乎总是产生输出信号。将其连接到A0和A1(每个锅一个)。在其中一个侧面引脚上,不管哪个都可以,连接+ 5V电压。

    在这里,我将它们都面对面放在单个面包板上,因为我只有短线。对于精美的产品,您需要使用一些旧的网络电缆给您一些距离(以便您实际上可以坐在沙发上玩)。

    下一步,加载其中一个Arduino随附的基本示例草图-模拟输入之一。此演示将根据A0上的输入来更快或更慢地闪烁车载LED。

    它不会测试其他A1电位器,但是如果您正确连接了A0,那么我将无法看看您将如何在A1上犯错,所以让我们假设一切都很好并继续前进。

    添加启动开关

    最后,我们将在D02上添加启动开关。有关如何执行此操作,请参考此处的接线图。在菜单中时,将使用此开关启动游戏。

    Pong代码

    我们使用的是最初由 Lamonica 编写的代码,由 duboisvb 修改为两个播放器,并由我自己更新为使用TV输出库的最新Beta版。您可以从此pastebin查看和下载代码。

    这是一个很长但很简单的代码,不需要我做任何解释。像大多数游戏一样,它依赖于游戏状态(菜单,游戏内,游戏结束),并在循环的每次迭代中读取两个控制器和切换器的输入值。除此之外,还有绘制屏幕,​​球,球拍和游戏逻辑的方法。

    请注意,代码也包含音频输出:我找不到还有更多的RCA插头可以测试一下,但是如果有的话,直接将信号引脚连接到D11,您应该会得到一些令人愉快的复古色调。

    老实说,我不知道Arduino甚至不需要大量复杂的编码就可以播放电视;电视输出库非常容易。即使您不喜欢复古游戏,使用此基本电视输出也是将现有设备用作廉价显示器的一种好方法。您当然也可以输出颜色。

    您认为您可以参加Arduino Pong吗,还是可以自己制作复古的视频游戏?

    在评论中告诉我们!

    标签: Arduino 复古游戏