回顾SparkFun的micro:bit街机游戏机

最近,我接触了SparkFun micro:arcade套件micro:bit单板计算机。 对于想要构建和编程自己的街机游戏机和游戏的成年人和儿童来说,这是硬件的绝佳组合。

micro:bit的规格相当不错:板上的低功耗蓝牙(BLE),指南针和加速器,均由32位ARM Cortex-M0 CPU驱动。 即使这样,与我最近制造的MAKERbuino游戏机相比,我还是有些失望。 MAKERbuino的LCD显示屏使micro:bit的5x5 LED矩阵对于显示可以使用SparkFun硬件创建的街机游戏感到有点不知所措。 micro:arcade工具包中巨大的按钮和操纵杆让我想起了我青年时代的大型商场橱柜。

Hardware in the micro:arcade kit

micro:arcade套件中的硬件(不包括micro:bit)

micro:arcade套件包括一个gamer:bit适配器,可以很容易地将micro:bit连接到游戏控制按钮和操纵杆。 仅使用gamer:bit有点像使用手持设备(例如MAKERbuino),除了低于标准的LED显示屏。

我通过将操纵杆和游戏按钮连接到便宜的笔记本电脑支架上来设置游戏控制台。 (有关最终设置的照片,请参见下面的内容。)我发现很难将按钮深埋并且需要在前面板后面留出足够的空间。

不过,使用游戏玩家:bit背面的连接器将按钮和操纵杆连接到micro:bit还是很容易的; 您只需用笔的末端按下一个小闩锁并插入电缆即可。 (不要使用电压表的尖端之类的尖锐工具;我用这种方法杀死了一个闩锁的塑料盖。)然后将电缆的另一端连接到按钮和操纵杆上。 当然,将micro:bit插入gamer:bit。

通过MakeCode编程micro:bit

编程是micro:bit在MAKERbuino上大放异彩的地方,尤其是对于儿童而言。 其基于JavaScript的在线编辑器Microsoft的MakeCode允许用户以图形方式(类似于Scratch)编程游戏。 编程完成后,代码将在浏览器中在线编译。 当micro:bit连接到计算机时,它会显示为USB驱动器,因此只需将编译后的代码复制到该驱动器上,micro:bit将开始执行该代码。

更好的是MakeCode允许用户直接在浏览器中模拟某些交互。 您可以按虚拟按钮,然后将某些东西连接到连接器上的插针,它会显示一个小面包板,其中已连接了该项目。

MakeCode emulator with breadboard

带面包板的MakeCode仿真器

MakeCode还会用一个小三角形标记代码中的错误(以及可能的错误)。

MakeCode with the emulator on the left and code is on the right

MakeCode,仿真器在左侧,代码在右侧

我做了一个小程序,在这个视频当中我女儿橱窗这里 (和连接到这篇文章)。

改善显示

因为我认为5x5像素的显示屏不适合游戏硬件,所以我开始研究外部屏幕的其他选项。 不幸的是,我没有找到任何可用的东西。

幸运的是,我以前已经构建了一个15x10的NeoPixel板,可以将其重新用作micro:bit的显示器。 (如您在下面的图片中看到的,我仍然没有完全完成它。)MakeCode有一个部分可以加载扩展,因此我加载了Adafruit NeoPixel扩展并获得了一个全新的菜单来操作NeoPixel。 (您可以在上面的MakeCode屏幕截图中看到它。)

尝试创建更复杂的代码使我陷入了MakeCode面向块的IDE的极限。 幸运的是,可以在TypeScript中创建自定义代码(这是块转换为的代码),然后可以从块的代码中调用该代码。

更多的硬件装备

micro:bit的针脚数量有限,使用5x5显示屏时某些针脚无法使用。 我决定不使用游戏玩家:位的按钮P16 ,而是使用该引脚作为输出。 我将Neopixel的数据线连接到gamer:bit背面的连接器上,但是NeoPixels没有显示任何内容。 起初,我怀疑我已经炸了它们(就像我过去所做的一样),但是在Arduino上检查草图显示它们没问题。 用电压表探测端口也表明它已经通电。

值得庆幸的是,SparkFun在示意图中记录了gamer:bit,在其中我看到他们在端口前面放置了一个2.2k电阻。 对于正常使用来说,这可能很酷,但在我的设置中不起作用。 我拿了一个迷你鳄鱼夹,将其连接到micro:bit连接器,终于使我的游戏机启动并运行。

Full game console

完整的游戏机

在图像中,您可以看到红色鳄鱼夹连接显示器。 您还可以看到我正在使用5x5显示器进行其他输出。 在俄罗斯方块这样的游戏中,它可能会显示下一个掉落的方块。

在线编辑吃完所有代码后,我遇到了一个问题。 我发现上载到micro:bit的HEX文件包含整个源代码的副本。 因此,我能够导入代码的早期版本并继续工作。 这也意味着很容易通过HEX文件传递代码。

其他编程语言

还有更多支持micro:bit的编程语言和环境 ,其中Python和C是两个比较突出的选择。

在本次试用中,我重点研究了MakeCode编辑器,因为它是micro:bit的目标受众(孩子)用来前进的工具。 该环境被本地化为12种语言,这对不懂英语的用户来说是一个巨大的胜利。 (例如,我的女儿说德语为母语,而法语为第一外语。)

混合袋

arcade:kit的硬件(按钮和操纵杆)非常棒,确实使您想要构建游戏。 我认为gamer:bit连接器还可以,即使我希望更好地访问micro:bit上的引脚也是如此。 它上面的按钮有些响亮,很难按我的口味按下,但这不是表演的障碍。

您可以在MakeCode的网站上查看我的项目

奖励积分

还有其他系统,例如Guido Burger的IoT Octopus变体,可以通过边缘连接器连接到gamer:bit并使用硬件。 章鱼托管了一个ESP32,这是功能强大且用途广泛的ESP8266 WiFi微控制器的后继产品。

如果您对micro:bit感兴趣但想要更多像素,请看中国制造商Naomi Wu的sino:bit ,他采用了基本设计,但通过12x12像素矩阵进行了增强,可以显示整个中文,日文和印地文,阿拉伯语和其他非8位字符。 (它比5x5矩阵还显示Western ASCII或ISO-8859-1字符。)不幸的是,它没有23针边缘连接器,因此与gamer:bit不兼容。

翻译自: https://opensource.com/article/18/1/create-your-own-arcade-game-console

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值