四小时组装这款游戏机

MakerBUINO 套件是向孩子们介绍电子和编码的有趣方式。
475 位读者喜欢这篇文章。
Arduino circuit board

易于编程的复古游戏机是向任何人(尤其是孩子)介绍视频游戏开发的绝佳方式。其中之一是 Gamebuino,一款预组装的手持复古游戏机。它有点像打了鸡血的 Arduino,配有诺基亚 5110 手机显示屏(84x48 像素)、LiPo 充电器和 LiPo 电池、SD 卡读卡器以及装有大量游戏的 SD 卡。 MAKERbuino,基本上是一个 Gamebuino 套件,你需要组装和焊接在一起,这对我来说似乎更有趣。

Makerbuino

opensource.com

MAKERbuino 的创建者 Albert Gajsak 与 Gamebuino 的创建者 Aurélien Rodot 合作,以确保设备兼容,并且 MAKERbuino 可以运行 Gamebuino 的游戏。MAKERbuino 甚至使用了 Gamebuino 的引导加载程序,该程序可在 GitHub 上获取

Albert 还公开了原理图,并且PCB 设计也已公开。有了这些资源,理论上,你甚至可以提前一步,创建自己的印刷电路板 (PCB),或者甚至创建具有不同物理布局的设备。

组装 MAKERbuino

我 10 岁的女儿喜欢编程和游戏,并且已经有一些焊接经验,所以我给她买了一个 MAKERbuino 套件让她组装。MAKERbuino 的网站上有非常详尽的在线组装手册,并且包含所有零件,所以她只花了四个小时就完全组装好并使其进入工作状态。

Soldering the device

opensource.com

在享受了构建设备和玩内置游戏的乐趣之后,我们想编写自己的游戏。由于 MAKERbuino 与 Gamebuino 兼容,我们能够使用它的游戏库来创建我们自己的游戏。

编程 *buino

MAKERbuino 的编程方式与 Gamebuino(以及其他所有 Arduino)相同,都是使用 Arduino IDE 和 C++。首先,将游戏库安装到 Arduino IDE 中,然后你就可以开始编程了。

Arduino IDE 和库对于非英语母语者来说是一个巨大的障碍,比如我的女儿,她说德语(并且在学校学习法语)。虽然 IDE 本身已本地化,但所有的语言结构、库和文档都是英文的。这个障碍很快就阻止了她对该项目的热情。

有一个类似 Scratch 的环境可以使用 Ardublocks 编程 Arduino,但它尚不支持 Gamebuino 库。(此外,这个项目看起来已经被放弃了。)我一直在研究将 Gamebuino 库添加到 Ardublocks 中,但这并非周末可以完成的事情。

尽管如此,如果你了解 Arduino 编程(和英语),那么编程 MAKERbuino 相对简单。

例如,这是一段发射激光并检查是否击中外星飞船的代码。

#include <Gamebuino.h>
Gamebuino gb;
[..]
void setup() {
  gb.begin();    // Initialize the *buino
  gb.titleScreen();
}  

void loop() {
  if (gb.update()) { // update screen etc
    [...]
    gb.display.setColor(GRAY);
 
    if (gb.buttons.pressed(BTN_UP)) { 
      gb.display.drawLine(x+4,y-1,x+4,0);  
      // check if the laser hit the alien ship
      hit = gb.collideRectRect(x+4,0,1,y-1, alienX,alienY,8,8);
    }
 
    if (hit) {
      gb.sound.playNote(40, 20, 0);
      gb.sound.playNote(10, 20, 0);
      gb.sound.playNote(30, 20, 0);
    }
  }
}

代码在 Arduino IDE 中编译,就像任何其他 Arduino 程序一样。

要测试代码,你可以使用允许大量交互的模拟器。我一直在使用 Simbuino4Web 上的那个。它工作得很好,但有时在上传后卡住时需要完全刷新页面。

Gamebuino emulator in the browser

opensource.com

要在真实设备上测试你的代码,你可以将串行转 USB 适配器连接到 MAKERbuino 并通过 USB 上传,或者你可以创建一个二进制 HEX 文件并将其放在 SD 卡上。要在 SD 卡上创建 HEX 文件,请在 Arduino-IDE 中使用 Sketch->Export compiled binary(而不是 upload)。

一次很棒的 DIY 体验

MAKERbuino 和 Gamebuino 都是很棒的复古游戏机,但组装和自行焊接的过程使 MAKERbuino 更像是“你自己的设备”。而且,正如我们的经验表明,即使在 4K 电视上 70 fps 游戏的时代,复古掌上游戏的体验仍然很棒。

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

2 条评论

我实际上从你提供的链接打印了 pcb,并且从头开始制作了一切。可以这么说。非常有趣的项目 :)

哇,太棒了。你愿意分享更多关于那次经历吗?

回复 ,作者:lemonas (未验证)

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