比如模拟的头骨,或者机械位翻转细胞自动机?
再或者,我们稍微把画风拉回来一点,用乐高模拟整个计算机系统。
当然只是模拟外观的话并没有什么难度,如果还想在这台计算机系统上实现一些功能呢,比如电脑显示器上在显示进行雷达扫描、滚动的文本材料,甚至当你触碰关键的乐高钉时还能对死星海沟进行互动。
令人震惊的是,整个设备都是通过乐高模块实现的,其中包括在90年代就停产的复古9V电池盒和带电触点的底座。这就足以为72×40像素的OLED屏幕和一个带有48MHz Arm Cortex-M0处理器和16K闪存的STM32微控制器供电。
除了《毁灭战士》是向计算机提供实时视频流之外,其他的图形都是程序性生成的,是的,作者甚至为这台小电脑编写了程序。
如何用乐高做一个计算机系统
这个项目作者名叫James Brown,Weta Workshop的图形工程师。
去年,Brown在逛速卖通时发现了一些很便宜的0.42英寸OLED屏幕,大概和一个键帽差不多大小。Brown最开始设想的是建造一个机械键盘,每个键盘下面都有一个屏幕,但是这个项目进展实在是有些缓慢。
“我下单也只是想让我自己坐在工作室时有点罪恶感。”
但凡尔赛的是,5月当他签收了一个Game Boy的时候,Brown突然开始思考,如果每个按键下有一个处理器会变成什么样子?等他反应过来的时候,一个乐高电脑就已经问世了。
于是Brown把这个想法画了出来,并惊讶地发现这是可行的。“我在Fusion上花了一点时间,这也只是确认哪些东西可以装进去,以及再三确保这个方案的可行性”,结果显示,屏幕和乐高模块前表面之间只隔了0.1毫米。
趁热打铁之下,Brown草拟了一块最大尺寸的电路板,并在一天之内放置了所有的基本元件,并心血来潮地将这个设计发给了一个电路板制造商。
他只花了40美元就买了五块小板,其中还包括运费。
Brown一直当这个项目是一种噱头,并没有指望必须使它特别具有可制造性。但是,当这些电路板送过来的时候,出来的效果让他感到震惊,“没想到定制一台计算机是一件如此便宜且轻松的事情”,最困难的部分是可能只是在底部焊上一对电池触点。
然后把它贴在一个半透明的乐高模块里。
为了让整个项目看上去更有创造性,Brown决定用半透明的树脂铸造模块。
最开始上手的时候做得十分粗糙,“这实际上是在一个乐高盆里的乐高砖,我要把硅胶倒在上面做模具,然后把它塞进去,把树脂倒进去,在上面放东西把它压好”。
其中还需要最好用软硅胶来填充模块的空腔,这样树脂就不会填满需要安装电子器件的地方。
Brown把一对电线拉到每个螺柱的内侧,作为粗糙的触摸传感器。“处理器通过一个电阻器计算拉高所需的时间”,然后用C语言对X-Wing瞄准计算机和Elite飞船渲染器进行编码,用按压的方式显示其一系列低聚物线框。
随后Brown在上面涂了一层黑漆,以消除一些光亮,但其实乐高模块上的纹理在抗锯齿方面已经做得非常好了。
第二代产品问世,但还没有商业化打算
这个乐高计算机系统已经有了第二代了。
根据Brown展示,第二代产品有一个新的三维电路板组件,旨在利用砖块内的所有空间。
这个电路板组件有内置的电池触点,一个用于编程的USB端口,取代了老式的串行调试引脚,电容式触摸硬件也被植入了电路板本身。
他说,这样可以更可靠地检测到手指在模块上整个区域的移动。
同时,因为不满足于仅通过这些调试线将《毁灭战士》传到STM32处理器上,Brown最近重新设计了整个板子,以适应Raspberry Pi RP2040微控制器。
Brown还补充道,可能还有足够的空间来安装一个用于运动控制的IMU。
也就是说,离看到乐高飞机安装着一个旋转陀螺仪在房间里飞来飞去的画面不远了?
遗憾的是,目前Brown还没有做好让这个项目商业化的准备。
不过Brown还想在考虑生产之前,找到并安装上一个可充电的电池,因为不是每个人都有80年代末/90年代初的乐高电子板。
“我想看看这个东西最终能走多远”。
如果这个产品最终和乐高合作进行规模生产,你会买吗?