8x8 LED矩阵上的超级马里奥兄弟(2013)

2020-05-04 21:24:37

跳到内容我的项目教程其他东西登录/注册仪表板商店主导航我的项目教程其他东西登录/注册仪表板商店此游戏是基于1985年任天堂经典-超级马里奥兄弟超级马里奥兄弟是我一直以来最喜欢的游戏之一。我非常喜欢它,事实上,我决定制作自己的版本,但将图形限制在只有64像素!我给它取名为“超级像素兄弟”

这个游戏与原作有一些相似之处,你只需要发挥你的想象力,因为所有的人物都是用一个像素来表示的。这个游戏的目的是让你通过20个关卡中的每一个,跳过障碍物,射击和跳到坏人身上,避免像熔岩,水和洞这样的陷阱。这是一款充满混乱的动作游戏,实际上玩起来很有趣,甚至还带来了一点挑战。包括一个16×2的液晶屏,让您可以跟踪级别、分数和生活。

声音FX和标题音乐已经成为可能的Monofonic音频芯片由我的一个好朋友和常驻论坛成员S.Dudley-Monofonic音频芯片是一个1位的声音FX芯片,非常适合像这样的低分辨率游戏。

虽然我最初的版本是使用电子面板和通孔元件制作的,但我认为设计一块专用电路板会更好,并尽可能保持紧凑和成本效益。因此,我想出了一个类似于20世纪90年代的手持游戏系统的设计,它包括8×8的LED矩阵,8个游戏按钮,一个音响扬声器,一个LCD显示屏和几个使它工作的部件。

当然,我向你展示这款游戏的最好方式就是通过视频剪辑。只需在下面的YouTube视频上按播放即可。

随着源代码的第一次发布,在中编程了20个级别。我试着从最初的超级马里奥兄弟中复制出尽可能接近的关卡,使用这里的关卡地图:

每个级别都有120个像素宽,可以用绘画快速绘制,然后使用我用Visual Basic制作的级别转换器软件将其转换为二进制数据。

请注意,为了将您新创建的关卡编程到微控制器中以播放它们,您将需要完整版的Swordfish Basic。(遗憾的是,免费版本不允许您使用游戏所需的那么多内存。)

但是,如果任何人愿意给我发送他们的水平(一套完整的20个水平),我会很高兴编译它,并把它放在这个网页上下载。

1个迷你滑动开关或3针接头(用作开/关开关)。

1个32针IC插座(将其一分为二,用作LED矩阵的支架)。

这个项目的建设或多或少是直截了当的。我设计了电路板,所有组件都直接在电路板上贴上标签,这使得很容易确定什么是要放到哪里去的。

话虽如此,大多数组件都是表面贴装的,如果你以前没有使用过它们的经验,这可能会有点棘手。如果你还没有,我强烈建议你自己买一个尖端细小的烙铁,一些助焊剂,一些优质焊料。最重要的是-有大量的视频和网页,详细说明了如何实际焊接表面贴装设备。

确保微控制器上的小圆点与电路板上印刷的小圆点对齐(这些圆点位于四个角之一)。

确保正确安装74373芯片、单频音频芯片、晶体管和稳压器-只要将它们与电路板上打印的轮廓对齐就可以了。

这些按钮实际上有两种不同的安装方式(相距180度),但无论你把它们放入哪种方式,它们都会起作用。

LED矩阵也有两种不同的安装方式,但是它只有一种工作方式。所有你需要做的就是猜测用哪种方式放进去(有50%的可能性你会答对),如果它起作用了,那么一切都是好的!如果它不起作用,就把它拿出来,旋转180度,然后推回。它现在应该可以正常工作了。

我意识到并不是每个人都能得到我买的开关,所以我还包括了另一种打开和关闭它的方法,使用一个容易找到的三针插头。任何一个都可以作为开/关开关使用。

我已经包括了八个孔,可能的安装点,有机玻璃外壳,以容纳电路板。也许有人会做一个?

您可能想要将电路板下面的5针接头焊接到ICSP端口,尽管这不是必需的,因为您只需要对其编程一次。

不幸的是,我实际上还没有为这个项目画出一个示意图。这几天我很忙,没有画示意图的计划。我基本上直接把电路设计到面包板上,一旦电路正常工作,我就起草了PCB设计。

请注意,PCB设计是Gerber格式的,您需要Gerber查看器才能查看它们。

非常欢迎你自己从电路板设计中画出原理图,但我看不出现在画原理图有多大意义,因为这块电路板非常便宜,而且非常适合用途。

电源通过9V电池供电,并由7805调整器降至5V(数字电路所需)。

电路全部基于PIC18F4550微控制器,这是我一年多来一直选择的微控制器。它们价格便宜,有大量的输入/输出端口,RAM,程序内存,甚至一些ROM,在保存高分时很方便。

帮助处理8×8矩阵上的图形的是4个74373芯片,每个芯片在其输出上包含8个数据触发器和8个三态缓冲器。基本上屏幕是一次绘制一列(总共八列)所有四个74373都连接到微控制器的8位端口(它实际上起到数据总线的作用)来绘制一个完整的帧,微控制器将发出8位红色数据并将其保存到红色74373。然后它将发送8比特的绿色数据并将其保存到绿色74373,然后它将发送8比特的蓝色数据并将其保存到蓝色74373。一旦所有三个颜色74373都有了它们的数据,我们将向第四个74373发送8位,这将确定哪一列将实际显示该数据。

一旦所有四个芯片都将它们的存储器存储在其中,微控制器将启用74373内的三态缓冲器,该三态缓冲器将数据发送到发光二极管矩阵,并将点亮特定列中的某些红、绿和蓝段。微控制器再重复这个过程七次,以完成一个完整的画面。这种情况每秒会发生很多次,所以在人眼看来,它看起来像是一幅稳定的画面。

在整个过程中,微控制器不断检查游戏按钮,以确定是否按下了一个或多个按钮。如果有,它将调用程序内存中的特定子例程,以所需的方式更新显示(即向左或向右移动图形,或使玩家跳跃或射击等…)。微控制器还会将某些数据发送到Monofonic音频芯片,告诉它播放所需的声音。

微控制器还将特定数据发送到LCD屏幕,以更新特定信息,如球员得分、剩余生命和当前水平。

源代码是用Swordfish Basic编写的。有一个免费版本可用,虽然免费版本限制您只使用256字节的RAM(这是相当多),虽然不幸的是,它不足以满足超级像素兄弟游戏(需要632字节)。这意味着您应该能够使用免费版本打开和查看源代码,但不能编译它。只有当您出于某种原因想要修改代码时,这才是真正的问题。

请注意,源代码杂乱无章,而且在很大程度上没有注释。我是按原样提供的,没有保修等…。

如果你想要的只是像我做的那样玩游戏,那么你只需要十六进制文件(见下面的下载),你可以直接把它编程到你的微控制器上,不需要编译器。

对于那些感兴趣的人,源代码占用1173行代码,21236字节的程序内存,需要632字节的SRAM。

BJT Biasings for iOS留言7条评论帖子0条回复1名关注者最多的评论最热门的评论帖子评论作者本网站使用Akimet来减少垃圾邮件。了解您的评论数据是如何处理的。订阅最新最旧的投票最多的通知新的后续评论对我的评论的新回复[…]。因此,几年前,我决定自己制作这款任天堂经典版,但将其限制在8x8x8xRGB LED矩阵上,仅为64像素。我给它取名为“超级像素兄弟”(Super Pixel Bros)。(有关该项目的全部细节可在此处找到)[…]。

在5年前的回复中投上0票否决[…]。5年前投票支持0票否决回复5年前投票支持0票否决回复5年前对不起杰克,我一个多月前就想给你回复了,但现在才想起来!

你说得对,我本可以做一份更详细的材料清单的,对此我深表歉意。然而,itead工作室将它们作为包含所有必需部件的套件出售,尽管我不确定他们是否还在这么做。

基兰,我不确定网头是否还在卖工具包(我没有从工具包里赚钱,他们只是问他们能不能做)。

你可能会对我最新的Kickstarter活动感兴趣,你可以用它来制作Super Pixel Bros,这将是一大堆更容易做的事情。

6年前,Itead Studio页面上的回复是0票否决,回复中写道:布拉德·斯拉特里制造了这些有趣的小玩意儿,现在我们正在与他合作,将这些小玩意儿作为套件提供(包括所有组件),这样你就不必自己选购了。

6年前0票否决和回复希望你能更具体地说明需要的部件我在网上商店找不到,为什么你就不能做一套呢!

6年前在回复中投0票否决[…]。请注意,这个游戏系统已经被新的Super Pixel Bros手持游戏系统所取代。你可以在这里找到这个游戏的详细信息。[…]。

6年前0票否决和回复wpDiscuz搜索:电子邮件地址使用Digirule 2&;2A上的微控制器生成视频信号由WordPress我的项目教程其他内容登录/注册仪表板商店发送到电子邮件地址帖子未发送-检查您的电子邮件地址!电子邮件检查失败,请重试抱歉,您的博客无法通过电子邮件共享帖子。