怎样使用Arduino重新创建经典的Pong游戏

电子说

1.2w人已加入

描述

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

Arduino

您还可以从此处下载TV Out Arduino库-获取最新版本的 TVoutBeta1.zip 。将所有生成的文件夹全部放入您的/arduino/libraries 目录,如果已打开Arduino IDE,请重新启动它。

测试电视输出

获取RCA塞住并剥去外层。收集屏蔽层,扭转并放在一侧。这是你的理由。中间应该是另一根带有塑料屏蔽的电缆–再次将其剥开,以便获得信号线。

同时焊接470欧姆和1k连接到RCA插头中心信号线的欧姆电阻–提供同步信号和实际视频信号,将其组合在一起以产生模拟视频输入。 470欧姆电阻应插入数字IO引脚D07,而1k欧姆电阻应接入D09引脚。

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

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

测试模拟电位计输入

好,我们已经完成了电视输出,现在让我们开始吧与控制器。 “电位器”的接线不是那么关键–每个电位器应具有3个引脚,而中央的引脚几乎总是产生输出信号。将其连接到A0和A1(每个锅一个)。在其中一个侧面引脚上,不管哪个都可以,连接+ 5V电压。

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

Arduino

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

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

添加启动开关

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

Arduino

傍代码

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

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

Arduino

请注意,代码包括音频也是输出:我找不到更多的RCA插头来测试这一点,但是如果有,请直接将信号引脚连接到D11,这样您就会得到一些令人愉悦的复古色调。

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

责任编辑:wv

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分