芥末堆芥末堆

【我测】第 03 期“makeblock”:超简单自制机器人,你到底从中学到了什么?

作者:墨墨 发布时间:

【我测】第 03 期“makeblock”:超简单自制机器人,你到底从中学到了什么?

作者:墨墨 发布时间:

摘要:正文多图:一测门槛究竟有多低,二测低了又如何。

我测”是由芥末堆策划的一档测评“实体教育产品”的栏目,我们会用真实、独立且主观的体验来测评使用过程,以发现它的精彩之处和不足之处。所以也欢迎被选中的产品负责人在文章底部评论区内,对体验者错误的操作进行纠正或是对发现的问题进行答复。

前 方 多 图 预 警

本期要测试的产品是“Makeblock mBot (蓝牙版)”,官方介绍是一款为素质教育而生的低门槛“机器人小车”,适合初学者学习 STEM(没有 Art) 领域——科学(Science)、技术(Technology)、工程(Engineering)、数学(Mathematics)的知识,八岁以上的孩子可独立完成。

1.jpg

(完成组装后,就是左侧图里的样子)

mBot 分为硬件和软件两个部分,硬件是标准化的电子零件,可通过无焊接的方式组装完成,同时配有一个简易遥控器可供拼装完成后直接“驾驶”;此外软件部分则有通过蓝牙直接实现操控的 mBot APP,同时还是支持基于 Scratch2.0 开发的图形化编程软件 mBlock,以及 C 语言编程的 Arduino,但都需到官网下载。所以综上,我把整个 mBot 的体验分成了 4 个部分:

  1. 机器人小车的组装及简单遥控

  2. 初步了解机器人小车的主要零件和编程软件
    自带三个问题:控制什么?拿什么控制?如何实现控制与被控制?

  3. 分别使用 mBlock 和 Arduino 对机器人小车编写程序并运行

  4. 测试后的整体评价及其他观众的评价

但是在开始之前,我希望大家跟我一起思考两件事儿:

第一件事,越来越多的编程或机器人产品将使用门槛降低,那么在提高了操作便捷性的同时,它们的趣味性有增加吗?被吸引的孩子/零基础人群眼中的“有趣”又是什么?这类产品在创客教育中有着什么样的存在意义?

第二件事,在 makeblock 之前还有下边这两款产品。左边叫单片机,常见于各种科技比赛和高等学府的毕业设计;右边则叫乐高,属于有产业文化背景的青少年界 IP 大亨。那么 makeblock 与他们相比有什么不同吗或者是有什么更精彩之处吗

未命名-1.jpg

Part.1 组装机器人小车组只需要 23 分钟

首先是拆包图:

未命名-4.jpg

必要零件包括电机、mCore 主控板、蓝牙模块、5 号电池盒、轮子、巡线传感器、全向轮、超声波传感器、锂电池、遥控器、电子连接线。所以基本就是上图这些,没有无用零件。而组装手册则分为四大部分:零件清单、mCore 详解、组装过程、连线。绘制的步骤清晰,其中组装过程分为 12 步,每一步从位置到所需零件都标注的很明确

未命名-6.jpg

其中有一点细节是,虽然它在安装步骤中标注了每个螺丝的名字“M2.2”、“M3 自攻螺丝”、“M4”,但并没有详细地对应到具体是哪个实物。不过因为只有三种,所以即便是新手也可以通过步骤图示来分辨出用哪个。

未命名-7.jpg

从第 1 步到第 8 步都是通过螺丝完成的拼接,而且按照组装说明来操作,完成只用了 15 分钟。最明显的感受就是零件之间严丝合缝,即便是手残党也能搞定。不过对我这种从没碰过机器人的家伙来说,最让我觉得惊喜的是那个螺丝刀,期初我以为这个只是用于轮子上的自攻螺丝,但直到我发现没有螺母的短粗型 M4 螺丝,是徒手搞不定的……

未命名-8.jpg

螺丝刀的原始状态是钢棍和手把分开的,六边形凹槽的 M4 螺丝让我纠结了一下,在翻完组装说明还是没有新发现后(确定并不是遗失了别的零件),我才想起钢棍的另一头也是这个形状——这可能是我在这套产品里唯一感受到不是“低门槛”的细节了。

未命名-9.jpg

此外除了零件组装本身就很“低门槛”,这套产品在细节之处也给了许多小白或粗心用户更多的贴心提示。比如上面这个电池盒电线位置的说明,如果电线在铜柱前方,那么当铜柱上方安装好 mCore,再取出电池盒就会变得有些麻烦。

未命名-11.jpg

从认识零件到全部组装,一共用了 23 分钟,基本上没遇到不知道怎么拼和拼不上的问题,确实可以说是一款低门槛的“组装产品”(上次那个电子沙漏我搞了两天)。

到此,就可以用套装内的遥控器来进行前后左右的操控了。但这个小车在前行时会发出奇怪的声响,翻过来凭空运行时则没有,应该是“万向轮”的原因,但这个我自己没有解决办法。而芥末堆小伙伴有跟我说电机或轮子安反了的,我觉得如果是这个基础的话,就还是别碰这种玩具了。

未命名-12.jpg

全部拼装完成后,还有一部分连接零件的剩余,其中还包括一个“电机轴”备用包。

Part.2 在编程之前得先了解要“用什么控制什么”

一、机器人小车上被控制的零件

未经编程开发的 mBot 只有简单的前后左右运动,因此在所有零件中能够提供“额外”展示,就只有巡线传感器和超声波传感器这两个零件了。那么在官方介绍中,它们可以分别提供以下展示:

(超声波传感器)

(巡线传感器)

除此之外,根据 mCore 的介绍,主板上还有 LED 三色彩灯、蜂鸣器。

(LED 三色彩灯效果预览,程序:三色循环)

二、实现控制的程序编写软件

面对陌生的 Arduino,我决定先尝试下基于 Scratch 开发的 mBlock,而如果你连 Scratch 都不知道,推荐你先了解一下这个积木式编程鼻祖,看它是如何拉近儿童与编程的距离的。

但说到这里有个特别的要提醒:makeblock 最早是在美国 Kickstarter 上众筹的项目,目前已经在京东有售,但包装盒上除了型号以外没有任何中文字,套装内也只有组安装手册是中文的。

说回编程软件,mBlock 是一款 120M 大小的压缩包,解压后会有安装文件,支持中文简体,可以快速上手;而 Arduino IDE 则只有 58M,唯一不同的是 Arduino 只支持英文。但除了要安装以上两个软件外,还需要安装 Arduino 驱动。小白用户记得安驱动!安驱动!重要的事情要说三遍!不然你就会像我后边那样开始犯蠢……

(mBlock / ScratchBot 界面)

( Arduino 界面)

此外 makeblock 还提供了从 ScratchBot(mBlock) 语言到 Arduino 语言的转换,这样可以更好地理解代码的编写与编程的含义。

未命名-1.jpg

makeblock 的论坛里还有两种编程语言的示例视频教程,我还额外发现了一个叫做 Ardublock 的软件:以图形化积木搭建的方式编程,使编程的可视化和交互性加强,降低编程门槛,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。

174749rh8f885uhz2r20lz.jpg(感觉像是 Scratch 和 Arduino 合体了)

三、连接运行程序的电脑和小车

根据组装手册提示:小车上的蓝牙模块可以用来和 Android 或 iOS 智能手机配对控制 mBot,也可以支持蓝牙通讯的电脑配对使用 mblock 来无线编程。那么再根据组装手册上的传送门,就可以很快递找到连接方法了。

但实际操作起来并不顺利,首先你需要一台支持蓝牙的电脑,于是我从台式机换到了笔记本;然后因为蓝牙的使用演示是 Windows 版本的,这在参考上又减少了一些价值;而最无奈的,是我的渣 Mac Air 根本带不起来这个小车,总是提示“拔掉耗电量太大的设备”。(到这里我还没有意识到自己换电脑后没安 Arduino 驱动,虽然并不确定是否一定相关)

未命名-9.jpg

程序员小哈提示:“换个台式机试试,用后边的接口,别用前边的。”但不甘心的(台式机没有蓝牙,甘心就等于放弃啊)我又借来了同事的 ThinkPad,结果……直接重启了。直到我弃疗开始想直接浏览网站的编程案例,才不小心找到了 Mac 版的安装教程!接着又不小心看到了有安装驱动这一环节!安完就可以按步骤来完成蓝牙固件的安装了,只不过安完以后再连电脑还是提示停用。

总结一下用电脑实现蓝牙操控的过程(套装内的组装说明并没有写):

  1. 安装 mblock 和 Arduino 驱动;

  2. Mac 版的 Arduino 驱动是从 mblock 上跳转到 Github 下载的,然后在安装的过程你还会遇到使用指令窗口的步骤,但如果你像我一样是小白用户,Mac 的指令窗口可以在“系统其他”里找到,文件名叫“终端”;
    未命名-3.jpg
    而在执行代码的时候,要注意的是如果你比我还要小白,请只输入红色框内的代码,因为 $ 前应该是你电脑的名字;
    360反馈意见截图16850824674967.jpg

    操作完上一步你的电脑就重启了,但如果你不知道这一步是重启也不用紧张,iOS 不同于 Windows 系统,重启完之前打开的页面也都会原封不动地还在;

  3. 重启后继续参考安装教程的步骤安装蓝牙固件,一切都完成后,就可以实现无线编程了。

至此,请允许我用一个表情——

1F0424502-15.jpg

Part.3 体验编写程序和运行程序

一、电脑控制

在 Mac 安装驱动的教程最后还有一个非常短的测试,是给键盘匹配操控功能,但只有前后进退。不过因为在编程之前就向小哈(我堆程序员)询问过一个问题:小车实现转向,比如向左转,是说左轮不动右轮动吗?小哈的回答是:不是不动,是改变转速,所转方向一侧的轮子转速低于另一侧的转速,就可以实现转向。于是就有了下方这个基础版的操控:

2_meitu_1.jpg

但在运行的过程中,小车出现了一个问题:指令为向左转向时,小车会先向右偏转一下,然后再向左。而这个问题在右侧旋转时则没有出现,于是我把小车反过来看了一下:

31.gif(图为翻转状态,按小车正面行驶状态区分左右轮)

实际上,无论按左键(左转命令)还是按右键(右转命令),小车都是左轮先动,而左轮先动就意味着在这段时间内“左轮转速大于右轮转速”,所以必然导致小车向右偏移。

1.jpg

于是我改了一点儿程序设置,将左键(左转命令)中的两个电机接口换了下顺序,而电机接口2就是小车的右轮。这时候再运行程序,小车就不会再出现向右偏转的情况。这也就意味着在执行程序的时候是有先后顺序的,先设置哪个电机接口,哪个轮子就先动。

小哈(芥末堆程序员)表示他当初玩单片机的时候是不会出现这种明显启动差异的,有可能是电池问题,他们当时用的是 2~4 节 3.6V 的 18650 型锂电池——我用的是 4 节 1.5V 的五号电池,并没有用 mBot 套装内自带 3.7V 锂电池。

不过这对整体使用并没有太多影响,在用电脑完成基本操作之后,通过官方论坛我还找到了“避障小车”和“巡线小车”的编程示例。在按照视频里的步骤可以很轻松地“复制”程序,然后右键单击“mBot 主程序”选择“上传到Arduino”即可实现对小车的程序传送。

3213111.jpg(由 mBlock 编写的壁障小车程序,右侧为自动生成的 Arduino 代码)

上图运行效果是小车在遇到障碍后可自动寻找新的行进路线,但基本上都是撞到东西以后才会改变方向,而且 distance(距离)的设置变动对小车基本没影响。此外遇到的问题还有视频里只有“执行”命令而没有“停止”命令,而且在第一次修改成电脑控制后,我的遥控器就失灵,所以我又加了一个“按下空格键则前进速度为 0 ”的设置。

实际上在做巡线小车的时候遇到的问题更多,最严重的是我认为以当前小车状态无法更好执行——或者,是需要比官方示例更优化的方案。

21121.jpg(巡线小车程序:左侧为官方示例,右侧为改进方案)

巡线小车的基本原理应该是通过对黑色路线的识别,判断是车头偏右还是偏左,如果偏左则一 A 灯灭并执行右转回归轨道命令,反之B等执行左转命令,如果巡线器两边都识别不到说明完全驶离正确方向,所以执行后退命令。但按照示例的编程执行并不能很好地巡线,一开始我以为是转速太快导致小车跟不上识别速度,于是把速度改了——事实证明然并卵。

(官方示例程序 50 转速下的躲线小车 - GIF帧数有加快)

注意观察上图,当小车识别到已偏离黑色轨迹时,小车执行的是倒退偏转……于是我又想可能是转速太低,当双侧均为未识别到黑线时小车执行退后命令,以至于再前进很难——我瞎猜的,因为改成 150 也不行,接着我又翻了翻 mBlock 的界面和论坛,结果发现没人有我这么愚蠢又小白的问题,所以在意识到“啊反正我也搞不定了”之后,初步体验完 mBlock 的我又试了试 Arduino。但简单总结一句话就是:官网没有教程,面对着空荡荡的陌生界面我选择继续玩 mblock。

1445493821817675.jpg(重温一下 Arduino 界面,我知道它并不是为我而生)

二、mBot APP

如果你不愿意编程,在做完小车后还可以下载 mBot APP。它支持蓝牙无线控制,提供 3 种情景模式分别是:手动控制(操纵杆/重力感应)、超声波自动避障、巡线模式。此外右侧还支持响起蜂鸣器、LED 亮灯、200转速快冲。

未命名-11.jpg(mBot APP 界面)

Part.4 对 makeblock mBot 的整体评价及其他观众评价

一、我的评价

使用过程中的优缺点已经在上述中写过了,结尾就来聊下开篇咱们提过的两个问题:

  1. 趣味性有增加吗?mBot哪里吸引人了?

    我:首先对我而言,趣味性有,但很有限;具体增加的地方就是十多年前我买完四驱车拼完只能按开关,现在拼完我能做的更多的操控了;而如果说它吸引人的地方,我并不觉得是所谓的“酷炫高科技”,而是在于每次的“发现、思考以及解决问题”,为什么小车左转时会先右偏?巡线器的作用原理以及为什么我没成功?如果否则语句的套嵌逻辑?这些对我来说才是 mBot 的魅力所在——但其中比较重要的一点是“能解决问题”,这也是我认为“低门槛的教育科技产品”在教育中的重要意义,它不会让你陷入完全的混沌;不过同样的,我也认为低门槛并没有增加教育产品的趣味性,但成就感着实提升不少——正如它所说:低门槛,快速入门的机器人套件。

  2. 与单片机和乐高机器人相比,mBot 做了哪些创新?

    其实这个问题,我堆程序员小哈更有发言权,在他眼里这东西等同于“还是原来的味道”,可以说除了软件以外就没什么不同,主板上还是那些接口,零件也没什么变化;而如果跟乐高比,乐高也用的是 scratch,不过 makeblock 是有 3D 打印系列的,哦乐高也有……说实在的,我也不知道 mBot 做了哪些创新——难道就是塑料变铝合金么?或许这个需要真的在做这个项目的人来回答才可以。

二、观众评价

小哈:“我觉得这个东西基本就是用于比赛刷分,或者是毕业设计用,哦我说的是单片机。”

大B:“哪有什么乐趣?编程的乐趣都是成年人强加上去的。”(体验者补充:“我认为小孩被编程吸引的点与成年人没有区别,不服来辩,网页右上角有‘投稿’入口。”)

东瓜:“所以如果编程可以直接照抄,又有什么教育意义呢?”

以上一些思考的声音,但实际上我听到的最多的还是“哇,这是什么?”“挺有意思的啊!”“还能自己躲障碍呢?加块布就能拖地了吧!”之类的,而且如果我们不从教育角度来看待这个产品,其实我还挺喜欢他们官网写的一句话的:我们提供给用户的是实现想法的能力。

世界上的第一个操作系统不是 Windows,第一台计算机更不是你那个轻薄的 Mac air,一切科技的发展其实都是在降低大众使用的门槛,这样才能有更多的人提高“创造的效率”。换到创客教育中,我认为这正是“门槛的科技教育产品”的意义。

但如果是 STEM 教育,我觉得“低门槛”仅仅只能做启蒙而已,后续的学习路径则更为重要——也就意味着教育产品或教育者必须做好更完善的引导。

1、本文是 芥末堆网原创文章,转载可点击 芥末堆内容合作 了解详情,未经授权拒绝一切形式转载,违者必究;
2、芥末堆不接受通过公关费、车马费等任何形式发布失实文章,只呈现有价值的内容给读者;
3、如果你也从事教育,并希望被芥末堆报道,请您 填写信息告诉我们。
来源: 芥末堆
芥末堆商务合作:王老师 18710003484
  • 【我测】第 03 期“makeblock”:超简单自制机器人,你到底从中学到了什么?分享二维码