文章来源ID:ACAR 《走进机器人的编程世界,智能拼装玩具MakeblockmBot教育机器人试玩》
可以说,在短短10天内,经过mBot智能教育机器人示范过程,楼主仍然感受到了无穷的乐趣。
身为一个程序猿十年,居然不知道单片机开发能有那么多乐趣,神秘的 机器人原来就是用微处理器+程序+输入:传感器+输出:机电设备组成的。可以说mBot智能教育机器人和R2D2(《星球大战》电影中的著名智能机器人) 之间差得只有小朋友们的想象力。我喜欢Makeblock mBot智能教育机器人,因为:
1、简化编程学习开发门槛,开发孩子的智力,想象力和动手能力,DIY的乐趣多多。
2、mBot智能机器人开发套件的价格非常平易近人,一套单片机开发工具例如树莓派2和Intel Edison套件大概需要人民币190~650元,然而没有配置任何输出输入传感器配置,一切都要开发者自己另行采购。而mBot智能教育机器人已经具备基本的巡线,移动, 避障,蓝牙和WIFI通讯能力,双11优惠活动的时候只要398元。
3、搭配灵活,官网有大量的配件可供选购,可以轻松升级机器人的能力和提高开发的复杂度。当然还有更高阶的机器手Starter套装,机器人绘图仪画蛋机等开发套装选购。
4、安全,接线和插座均为防呆设计,M3长螺钉长度较大,M4螺钉体积较大也非常的安全,不容易让儿童吞服或者扎到眼睛。动力马达的力矩适中,就算强行停止,也不会弄伤儿童的手。
5、 编程语言标准。使用Arduino单片机,开发环境最终为标准的C语言,适合计算机编程语言的入门学习,而且C语言的寿命非常悠久,基本上孩子们可以从中 受益终身。因为计算机语言的更新换代速度相当之快,10年时间完全有可能淘汰一批语言,所以一旦孩子们花费宝贵的童年时间去学习一种没有未来的计算机语 言,结果就是白白浪费几年时间。说到这点,楼主是押宝“中途死亡”计 算机语言错误的受害者,中学阶段学习的是Turbo Pascal语言,大学学习的是基于Object Pascal语言的Delphi。结果没到2005年刚毕业,由于微软爸爸强有力的开发工具VS2005的面世,它们~都~死~了,Borland公司也 倒闭转型。同样的最近15年还有被淘汰的Visual Basic和Visual FoxPro,Sybase数据库等。而C语言的顽强生命力,已经诞生了超过60年依然是主要的单片机和驱动程序,嵌入式硬件设备的开发语言。
初识教育机器人
其实,从小楼主就玩着拼装玩具长大,当然那时候拼装玩具还没有具备MCU,仅仅是最简单的发条动力,钢片结构,就像下面图片中的那样。
长大后才知道,原来小时候玩过的玩具还挺有来头,而且这世界上还有许许多多种拼装玩具,其中就有大名鼎鼎的乐高积木和这次楼主有幸申请到试用的——makeblock mBot机器人。
看看下面的官方图片,是不是感觉就是楼主小时候玩的拼装玩具的超级增强版呢?25年的技术进步,使得现在的智能玩具更多的高科技传感器,微处理处理器和铝合金预制零件类型。
makeblock mBot正是一款很容易上手的教育机器人,其设计的初衷是便于孩子们学习编程、Arduino单片机编程,还有神秘而强大的机器人是如何通过传感器输入, 驱动马达和电机,显示屏等输出设备工作的。在它小巧的体内蕴藏了大部分创客教育机器人所需要的电子元件。
makeblock mBot通过官网商店makeblock扩充组件,可以搭配出铲车,钩机、甚至坦克等现实中的机械和车辆模型,并且具备可编程的智能逻辑。但是这次试用体验的makeblock mBot蓝牙基础版并没有那么多零件,不过楼主依然可以管中窥豹,体验到智能机器人玩具的无穷乐趣。
官方资料里面宣传这是一个面向8岁以上儿童的教育玩具,八岁以下儿童需要大人陪同才能够进行玩耍。事实上,楼主发现自己这个8岁x4的老顽童也依然能够乐在其中,整个星期的钻研这套makeblock mBot智能拼装教育机器人所带来的无限乐趣和引爆出来的想象力。
开箱过程
因为mBlock mBot智能机器人上手编程的难度较高,所以IT168试客活动贴心的配了一本《mBlock小创客玩转机器人》的图文指导书籍。
包装盒背面,因为之前的产品主要是面向国外市场的缘故,mBot的包装盒上都是英文版的介绍,只有一个中文条形码标签是后贴上去的,英文介绍了mBot教育智能机器人的特性。简单的结构分解图,电气安全信息。
这是官方的中文版参数
打开盒子,首先看到的是IT168试客标签和mBot使用说明书。
泡沫盖板下面才是收纳mBot机器人零部件的包装盒。
双层泡沫收纳格中是mBot小机器人的全部零件,这个稍后会在组装过程中逐一介绍。
我们可以在图中看到mBot小机器人全部的资料和配件。
对比这张说明书中的零件清单,清点好零件数量。
开始组装mBot
我们先来看看一下官网的这张mBot装配示意图动画,很好理解吧,相信孩子们在家长的帮助下也能够轻松组装。
马达和变速箱是mBot智能教育机器人的发动机,也就是它能够在地面上移动的动力来源,注意看变速箱的外壳上有防呆的圆形和方形突起,这是为了在mBot智能机器人的底盘上安装地位设计的。
mBot智能教育机器人漂亮的蓝色的铝合金底盘,
我们把马达和变速箱安装上去,可以看到马达上圆形和方形突起正好嵌入底盘合适的位置
马达使用最长的M3十字螺钉+螺母安装固定,在包装袋中找到螺母和螺钉。
拧紧螺母需要工具,mBot机器人包装中包括了一把组合螺丝刀,包括双头螺杆一根,可以拧紧M3十字螺钉和M4内六角螺钉。
螺丝刀的螺杆装在这一头就是十字螺丝刀了
我们来拧紧马达的M3十字固定螺丝
把两个固定螺钉都拧紧
两个轮子自然需要2个马达驱动,所以需要安装2个马达四根固定螺钉。
mBot小机器人的脚——尼龙轮子和橡胶轮胎。
把轮子和轮胎组合在一起。
轮子需要套上马达变速箱上的尼龙驱动轴
使用自攻螺钉拧紧轮子防止它脱落
由于自攻螺钉是对驱动轴有损伤的,而且小朋友往往因为意外跌落导致mBot——瘸腿,所以还贴心的配备了多2根尼龙驱动轴
安装好了2个轮子和马达以后
给小mBot翻个个儿
接下来我们要给小mBot安装万向轮
还有巡线传感器,它能感知地上的黑白线条,判断小mBot是否走在正确的道路上
mBot的巡线传感器和其他传感器都采用标准的M4安装孔和RJ25数据线接口。
安装上面两个零件需要使用到新的螺钉——M4内六角半圆头螺钉。
同时要把螺丝刀的螺杆刀头更换过来,变成六角刀头
两个部件叠在一起,注意巡线传感器的安装方向,使用M4螺钉拧紧固定好
接下来要使用到的是RJ25数据线,连接传感器,然后穿过小mBot底盘上的走线孔。
RJ25接头的使用方法跟RJ11 RJ45水晶头一样,只要咔嗒一声就能安装进对应的传感器插孔内,非常方便,小朋友们也不会弄错哦。
把线穿过走线孔,整理一下,我们继续安装上层部件。
接下来安装的是超声波传感器,它能感知前方的垂直障碍物,
两个M4螺母都要拧紧。
上层需要继续安装四个螺柱来方便安装小mBot机器人的心脏:mCore主板。
把四个螺柱逐一拧紧到螺孔里面
把四个螺柱逐一拧紧到螺孔里面
小mBot还需电池作为运作的动力储备,我们需要使用背胶尼龙粘扣来固定电池盒
尼龙粘扣一面粘在地盘上,一面粘在电池盒上面。
把电池盒用尼龙粘扣粘在小mBot的底盘上啦
超声波传感器的连接线也必须提前插好。否则装上了主板,传感器插头就被盖在下面,手指无法够到。
准备好了电池盒,装好了,就可以安装小mBot机器人的大脑:mCore主板了。
主板上面集成了非常多的接口和功能:如上面图所示。
用M4螺钉拧紧四个固定孔,就能安装好小mBot的大脑:mCore主板啦。
这时候的mCore还是光杆司令,因为所有的连接线都没有接上。
我们需要按照说明书的指示,把每个传感器按照特定的接口接上,如果更换了接口,那么在后面的mBlock程序开发中就需要修改端口号才能够正常使用传感器了哦。
马达也是需要对应插孔,接反了会导致mBot智能教育机器人在本应左转的时候变成右转。
mBot智能教育机器人除了使用四节5号电池之外,还能使用一块1800mAh的 3.7V锂电池供电。
把锂电池塞进电池盒的位置。电池电源线也接上mCore主板
我们可爱的小mBot智能教学机器人基本上已经安装完成
慢着,还少一个很重要的部件——2.4G蓝牙通讯模块。
蓝牙模块支持蓝牙2.0和3.0协议,背面有一个3pin一个4pin的杜邦插头。
对准2个杜邦接口的位置,插进去就安装完成了。
最后需要使用的配件是USB 3.0数据线一根。小mBot机器人需要用它来充电,上传Arduino程序。
通过USB线给mBot标配的锂电池充电,需要充几个小时才能够充满,楼主第一次给mBot充电先直接充了一晚上。
锂电池充好了充电红灯会变成绿灯亮起,拨动开关就能给mBot通电开机。
PWR电源红灯会亮起了,经过一两秒自检以后,小mBot会发出哆蕾咪三声不同声调的提示音,然后就活了过来,这时候巡线传感器亮蓝LED等,蓝牙2.4G模块会亮蓝灯,mCore主板上会亮根据工作状态亮起两盏RGB*可变色的LED灯
笔者注:*色光三基色原理,当RGB红绿蓝三色LED以相同亮度发光的时候人眼看上去就是白色的LED灯。
mBot 预装程序试玩
mBot有三种操作模式,PC联机,红外遥控器,手机APP。其中不与电脑联机的出厂固件脱机模式情况下,只能使用红外遥控器进行操作。
最简单的操作方式当然就是使用自带红外遥控器,注意mBot的红外遥控器在第一次使用的时候需要拔掉里面的防漏电绝缘PET塑胶垫片才能够使用
视频,mBot出厂固件:默认巡线模式和自动超声波避模式。
每一个小盆友都是未来的程序猿!
跟楼主一起学习自己开发mBot智能机器人的程序
自己开发程序就意味着需要使用PC联机mBot并且通过mBlock智能机器人程序开发软件上传自己的设计的程序覆盖出厂固件程序。
使用mBlock和mBot相连大概需要以下几个步骤:
1、安装mBlock程序——首先我们需要下载并安装mblock开发工具
mBlock软件是mCore主板的核心——Arduino单片机官方编程环境的第三方软件,目前必须依附于Arduino软件下运行,区别于Arduino文本式编程环境,mBlock是以 图形化积木搭建的方式编程的,这样的方式会使编程的可视化和交互性加强,编程门槛降低,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。 让机器人创客活动是每个小朋友都能参与的活动,降低单片机软件编程学习门槛,可以吸引更多的儿童投入到计算机编程和机器人学习的创新制作中来,每一个孩子都是小创客!
mBlock,顾名思义,就是把深奥的编程,转化成为简单的积木块形式,让孩子们能够以可视化的方式,学习编程。
2、用USB线连接PC和mBot机器人
3、Windows 7以上系统开启UAC的情况下必须使用管理员权限启动mBlock开发程序,因为安装驱动和在C盘Program Files目录编译程序需要管理员权限写入。
4、在mBlock程序中安装mCore主板的Arduino USB-COM口虚拟驱动,菜单中称为“安装Arduino驱动”
5、通过“串口”->“COM3*”链接在USB线上的mBot智能教育机器人,正确连接后标题栏将会变成“已连接”
笔者注:*不同机器可能会有不同名称,并不是永远不变的COM3,请根据自己PC环境随机应变。
6、通过预设的积木块设计mbot机器人的新程序
这里使用楼主准备改进的巡线程序作为例子,代码标有注释,非常便于理解。
7,点击“mBot Program”选择“上传Arduino程序”
8、上传并不会直接稀里哗啦的上传程序,而是切换到“Arduino模式”继续编辑程序,所以我们也可以直接通过菜单“编辑”——>“Arduino模式”来进入这个状态上传程序,我们可以看到,我们编写的mBlock程序块已经智能的转换为了Arduino单片机的C语言代码
点击图中蓝色“上传Arduino程序”按钮就真的会上传程序到mBot智能教育机器人mCore主板上面了。
9、上传程序会经历两个过程:
Step#A、Arduino单片机的C语言代码编译代码成为汇编语言。
Step#B、编译后的二进制代码上传mBot,上传中不要拔掉USB线或者关闭mBlock窗口,完毕后会提示“上传完成”,点击确定按钮即可。
经过这9个步骤才能完成mBot智能教育机器人的新程序设计。可见让一个机器人随着主人的意志行动起来,也不是一件容易的事情啊。
这时候我们再测试楼主新设计的mBot机器人巡线程序代码的效果
视频
寻找更多的编程乐趣
mbot机器人“画地为牢”源程序,主要是结合前面的巡线传感器,当巡线传感器为0的时候就停止前进!
这样,当你把mbot机器人放在黑色胶带围起来的地面上,它就会自动往前跑,到了黑胶胶带的场地边缘就会自动停住转弯继续向前跑!
因为试客试用的时间关系,只尝试了简单的方形范围,如果处理更复杂情况可以设计成黑胶带组成的迷宫,使用巡线传感器,设计出mbot机器人自动走迷宫的程序。
mbot用单音调演奏《小星星》
这程序比较简单,就是按下mbot的按钮,然后就播放5遍的《小星星》音乐! 同时左右两盏LED等会随着音节不断地变化红绿蓝三种颜色。
但是,我们有时候会发现歌曲需要搭建很长的逻辑积木,作为简化,可以把主旋律和主歌副歌等重复的音调旋律,分块定义成逻辑模块来代替
视频效果:
总结
可以说,短短10天的mBot智能教育机器人试用过程,楼主意犹未尽,感觉其中乐趣无穷。身为一个程序猿十年,居然不知道单片机开发能有那么多乐趣,神秘的机器人原来就是用微处理器+程序+输入:传感器+输出:机电设备组成的。可以说mBot智能教育机器人和R2D2(《星球大战》电影中的著名智能机器人)之间差得只有小朋友们的想象力。
优点:
1、简化编程学习开发门槛,开发孩子的智力,想象力和动手能力,DIY的乐趣多多。
2、mBot智能机器人开发套件的价格非常平易近人,一套单片机开发工具例如树莓派2和Intel Edison套件大概需要人民币190~650元,然而没有配置任何输出输入传感器配置,一切都要开发者自己另行采购。而mBot智能教育机器人已经具备基本的巡线,移动, 避障,蓝牙和WIFI通讯能力,双11优惠活动的时候只要398元。
3、搭配灵活,官网有大量的配件可供选购,可以轻松升级机器人的能力和提高开发的复杂度。当然还有更高阶的机器手Starter套装,机器人绘图仪画蛋机等开发套装选购。
4、安全,接线和插座均为防呆设计,M3长螺钉长度较大,M4螺钉体积较大也非常的安全,不容易让儿童吞服或者扎到眼睛。动力马达的力矩适中,就算强行停止,也不会弄伤儿童的手。
5、 编程语言标准。使用Arduino单片机,开发环境最终为标准的C语言,适合计算机编程语言的入门学习,而且C语言的寿命非常悠久,基本上孩子们可以从中 受益终身。因为计算机语言的更新换代速度相当之快,10年时间完全有可能淘汰一批语言,所以一旦孩子们花费宝贵的童年时间去学习一种没有未来的计算机语 言,结果就是白白浪费几年时间。说到这点,楼主是押宝“中途死亡”计 算机语言错误的受害者,中学阶段学习的是Turbo Pascal语言,大学学习的是基于Object Pascal语言的Delphi。结果没到2005年刚毕业,由于微软爸爸强有力的开发工具VS2005的面世,它们~都~死~了,Borland公司也 倒闭转型。同样的最近15年还有被淘汰的Visual Basic和Visual FoxPro,Sybase数据库等。而C语言的顽强生命力,已经诞生了超过60年依然是主要的单片机和驱动程序,嵌入式硬件设备的开发语言。
当然瑕不掩瑜,mBot智能教育机器人依然有些小缺点,同时楼主也不确定是否是mBlock套件的bug引起的。
缺点:
1、巡线传感器在阳光直接照射的地面上会失灵,无法正确的识别黑线边界,导致mbot机器人冲冲冲越界,室内开机使用则一切正常。所以mBot智能教育机器人目前适合小盆友们在室内使用和活动,不适合室外活动。
2、超声波传感器对倾斜接近的物体检测较慢,要是能有90度的四个传感器就完美了。
3、mBlock存在某些bug或者说缺少某些多重条件判断等情况,缺少“<>”*,“-=”** 的逻辑mBlock,比较难处理复杂逻辑,比如说同时演奏音乐和寻路巡线。又比如说楼主发现“当《条件判断》前等待”的程序代码块,对机身按钮起作用,但是对红外遥控器不起作用。楼主还不确定是mBlock的Bug还是mCore机身判断错误的问题。(注:* 不等于,** 变量自减运算)
4、楼主发现8岁以上儿童一样需要成人指导才能入门,因为编写和上传第一个自己的Arduino程序,需要复杂的9个步骤,实际上12岁以下没有单片机编程开发基础的儿童,是不可能独自玩mBot的。正确提倡的mBot玩耍模式应该是家长自己玩明白了,再带着孩子一起玩,或者给孩子报名兴趣班。(其实腹黑的说一句,如果没有专研精神,非理工科毕业的妈妈们,楼主也不认为你们能玩明白mBot的程序开发,基本上这是爸爸和孩子的玩具 lol)
「微信号:it168sk」-每周都有新试用