SparkFun micro:bit 街机游戏机评测

使用开源硬件,让儿童编程变得简单有趣。
292 位读者喜欢这篇文章。
open hardware

Opensource.com

我最近入手了 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

opensource.com

micro:arcade 套件包含一个 gamer:bit,这是一个适配器,可以轻松地将 micro:bit 连接到游戏控制按钮和操纵杆。单独使用 gamer:bit 感觉有点像使用手持设备,例如 MAKERbuino,只是 LED 显示屏不如后者。

我通过将操纵杆和一个游戏按钮连接到一个廉价的笔记本电脑支架上来设置我的游戏机。(请参阅下方的最终设置照片。)我费了一番周折才发现这些按钮做得非常深,并且在前板后面需要相当大的空间。

尽管如此,使用 gamer:bit 背面的连接器将按钮和操纵杆连接到 micro:bit 非常容易;您只需用笔尖按下一个小闩锁并插入电缆即可。(不要使用像电压表尖端这样的尖锐工具;我就是这样弄坏了一个闩锁的塑料盖。)然后将电缆的另一端连接到按钮和操纵杆。当然,将 micro:bit 插入 gamer:bit。

通过 MakeCode 编程 micro:bit

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

更棒的是,MakeCode 允许用户直接在浏览器中模拟一些交互。您可以按下虚拟按钮,当您将某些东西连接到连接器上的引脚时,它会显示一个连接了该项目的小型面包板。

MakeCode emulator with breadboard

opensource.com

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

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

opensource.com

我制作了一个小程序,我的女儿在这个视频 here 中展示了它(并附在本文中)。

改进显示

因为我认为 5x5 像素显示屏不太适合游戏硬件,所以我开始研究外接屏幕的其他选项。不幸的是,我没有找到任何现成的产品。

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

尝试创建更复杂的代码让我达到了 MakeCode 基于块的 IDE 的极限。幸运的是,可以使用 TypeScript(块翻译成的语言)创建自定义代码,然后可以从块代码中调用它。

更多硬件改装

micro:bit 的引脚数量有限,并且在使用 5x5 显示屏时,其中一些引脚无法使用。我决定不使用 gamer:bit 的按钮 P16,而是将该引脚用作输出。我将 Neopixel 的数据线连接到 gamer:bit 背面的连接器,但 NeoPixel 没有任何显示。起初,我怀疑我烧坏了它们(就像我过去做的那样),但在 Arduino 上检查一个草图表明它们是正常的。用电压表探测端口也表明它有电。

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

Full game console

opensource.com

在图像中,您可以看到用于连接显示器的红色鳄鱼夹。您还可以看到我正在使用 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 并使用该硬件。Octopus 托管一个 ESP32,它是功能强大且用途广泛的 ESP8266 WiFi 启用微控制器的后继产品。

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

标签
User profile image.
Heiko 是一位长期的开源贡献者。他目前在 Red Hat 从事服务器和软件系统的监控和管理方面的工作。Heiko 获得了卡尔斯鲁厄大学的计算机科学硕士学位,并撰写了两本关于 JBoss AS 和企业 Java Bean 的书籍。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.