Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
首先,拓竹是一家消费级 3D 打印机厂商,其开发的多款 3D 打印机广受好评,尤其是 A1 系列价格已经低至千元左右。
同时,拓竹运营的 MakerWorld 社区是一个大型 3D 作品分享平台,让小白用户(无任何建模经验)可以通过这个社区下载获取模型,并进行 3D 打印。
但是,绝大多数 3D 打印作品只能静态展示,或者手动推拉把玩。想要让 3D 打印的小车动起来,又需要一定经验的电子电路技能和知识。介于此,拓竹官方推出了 CyberBrick 套件,这个套件让小白用户通过简单的积木拼搭方式,就可以创作一个能够遥控行走的 3D 打印小车,提供了更多乐趣。
拓竹对于 CyberBrick 的官方介绍:
CyberBrick 是一款模块化智能玩具生态系统,融合了可编程硬件、3D 打印结构和双层编码环境。它通过乐高般的简洁性,将 3D 打印与电子和编程相结合。CyberBrick 使任何人都能构建和享受各种 3D 打印项目,从遥控玩具到生产力工具。
然而,CyberBrick 套件的价格却并不便宜,一套新手入门套件要 199 元,且一套只能应用一个玩具小车。所以就有了我做的这个项目,利用便宜的散件复现「拓竹 CyberBrick」,不仅可以降低成本,还可以提供更多的玩法可能性。
我把这个项目称为「OpenCyberBrick」,让我们开始吧。
在 CyberBrick 众筹阶段,我就通过介绍和观看演示视频,大致了解了其构成和运行逻辑。CyberBrick 套件发布的第一天,我就入手了新手套装,并且打印了官方卡车模型进行了试用。
CyberBrick 虽分为遥控部分和被控部分,但两部分使用的主控板均为 esp32 c3 mini,且可以互换。只是遥控部分,通过「遥控接收底板」收集摇杆、按钮、开关等输入设备的信息,发送给被控部分。而被控部分,将收到的信号,通过「遥控接收底板」传递给电机、舵机 LED 灯等输出设备。而遥控部分和接收部分,似乎使用的是 eps 独有的 espnow 协议。
了解了 CyberBrick 的核心逻辑,也就理清了复现思路。
首先,需要和 CyberBrick 一样用 3D 打印机打印出 Jeep 小车的零件并组装。这里需要注意的是:因为我们散件集成度不高,占用的空间要比原装 CyberBrick 零件大很多,所以要选择大一些的模型,太小的模型没有空间放置我们的电子零件。
这里我选择的是威利的 CyberBrick 遥控吉普车,这款Jeep前备箱里有足够的空间容纳电子设备,并且是一个比较典型的架构:使用电机来提供动力前进后退,使用舵机来进行转向,并且有 LED 灯的预留空间。


以上,是这个 Jeep 小车的电子电路接线示意图,这里我踩过的坑有:
esp 设备支持使用 Micropython 和 Arduino 语言进行开发,我正好有一些 Python 基础,所以默认就使用 Micropython 进行了开发。
软件部分项目代码已经放在 GitHub 上,地址:OpenCyberBrick的Github 地址或 OpenCyberBrick的Gitee地址 。
这里介绍一下每个项目文件的作用:
不同于 CyberBrick,本项目在复现时虽然也实现了单独的遥控设备控制,但是最终还是推荐使用手机进行遥控。在使用手机遥控时,还分为按钮控制和体感控制。
espnow 遥控其实可以作为一个独立的项目,它不仅可以用作 CyberBrick 的遥控,还可以遥控其它 esp 设备。它也包含了硬件部分和软件部分:

硬件部分,由一个 esp32 连接两个 PS2 摇杆和两个普通按钮,以及电源、开关组成。软件部分,同样由 Micropython 开发,获取 PS2 摇杆及按钮的数据,格式化后转发给被控设备。这个遥控,还可以通过按钮切换被控设置,实现一个遥控控制多个设备。
这个遥控的项目,随后可能会有单独的文章介绍。
一个遥控设备和一个被控设备,成本还是很高。能不能利用大家都有的手机作为遥控终端呢?答案当然是可以的。esp 设备有 Wi-Fi 功能,可以连接路由器接入家里的局域网,也可以发射一个热点网络,自己组建一个局域网。
在被控设备的 esp 主控上,运行一个服务端,可以接收局域网设备发送的命令请求,再将这些命令请求转为 Jeep 小车的动作。
在遥控侧,使用手机打开一个 HTML 页面,将页面上的按钮点击释放等动作发送到服务端,就可以进行远程操作。这里有几个点比较特殊:

按钮控制虽然简单明了,但是在「酷」方面还不太够,而体感控制就很「酷」。在 HTML 页面上,获取手机陀螺仪的数据,将手机姿态的变化,转化为 Jeep 小车的动作。比如:
如果使用手机作为遥控终端,那整套系统就只有 Jeep 小车的电路成本。我们来计算一下大概的成本:
共计 35.95 元,这里没有计算 Jeep 小车需要的一些五金配件,比如螺丝、轴承等。
以上大部分功能,都是对标 CyberBrick 实现的,在遥控端有不一样的地方。但是其实,我们可以有更多的可能性,比如给 esp now 遥控加一个屏幕、给 Jeep 小车加一个屏幕、给 Jeep 小车增加一些音效、增加避障雷达等等。这个可能就是 OpenCyberBrick 这个项目可以提供的更多可能性和趣味性的地方。
本篇文章,只是介绍了这个项目的大体逻辑,硬件和软件方面都还有很多细节,这里限于篇幅的问题,就不再一一讲解了。如果你对这个项目感兴趣,欢迎给我留言,一起交流。
如果你会嘉立创打板,并对我的这些项目感兴趣,愿意和我一起折腾也「非常」欢迎和我联系,一起创作一些有意思的项目。