消费

乐高深度扫盲⑤-产品篇(可编程系列)

2017-06-19 17:33   彩色蚂蚁
  玩具版和教育版
 
  从二代产品开始,MindStorms系列的具体产品套装开始区分玩具版套装和教育版套装,核心组件大致相同,小部分组件互有增减。另外,软件套件,自带的示例demo等都有些差别。玩具版就是正常的渠道销售的版本。教育版顾名思义,目标销售对象是学校等机构,同时也是官方的机器人比赛项目(FLL、WRO等)的指定版本,而EV3的教育版,甚至还有中国区特供的版本(功能并没什么区别,只是内置了识别芯片,用来区别其它版本。。。,类似游戏主机,锁区的意思),在国内教育版的价格通常大大高于玩具版的价格,原因你懂的,代理机构垄断。
 
  下图是EV3的玩具版(31313)和教育版(45544/9898)的配件区别
 
主要部件
主要部件
 
  此外,教育版还有补充包发售,比如45544对应的45560(然而,补充包性价并比不高,平时多买几个科技套装好了)
 
  两个版本的套装,官方的示范模型完全不同,但是两套看起来都蛮有趣,自然有玩家希望兼顾,于是在淘宝上你就会看到各种31313升45544的补充包,或者反过来45544升31313的补充包在销售。。。
 
  套内MOC
 
  如果说科技系列的套装,更多的还是追求外形和功能兼备,每个套装多多少少有一些自己独特的零件用来凹造型,所以套内MOC(使用一个套装,自主搭建自己的模型)的能力相对有限(如果你同样追求形似),那么机器人系列的玩法相对来说,则更注重“智能”这一部分,机械和外形部分的诉求相对较低,大致有个模样就OK了,所以套内MOC的能力更强一些,一套EV3加上部分结构件就能玩出不少花样。当然了,如果你追求的是德智体美劳全面发展,那么零件储备还是多多益善。
 
  编程
 
  说到这才说到重点,搭建完模型的机械结构,只完成了第一步,你还需要通过编程来驱动你的模型
 
  MindStorms官方推荐的编程方式,是使用基于NI的LabView平台开发的图形化编程软件进行编程(定位青少年嘛,也是为了降低编程门槛),使用的编程语言是被称作G语言的一种基于流程图的可视化编程语言。在NXT时代,对应的版本叫做NXT-G,到了EV3时代,也升级为EV3-G(2011年,NXT-G曾经在世界编程语言排行版上排名到第15位),NXT-G只有基于PC的开发平台,而EV3为了进一步降低编程门槛,还推出了IPAD版本的简化版的开发软件 : EV3 programmer
 
IPAD版 EV3 programmer
IPAD版 EV3 programmer
 
  G语言使用各种功能模块和流程图模块来编写程序逻辑,通过设置各个模块的参数变量来控制程序的行为,如下图所示,EV3-G版本的编程软件支持的部分外设功能模块和流程运算模块
 
控件模块
控件模块

控件模块
控件模块
 
  用这些模块搭建的一个简单的流程图,可能像下面这样:
 
简单的流程
简单的流程
 
  稍微复杂一点的流程图可能像下面这样:
 
复杂一点的流程
复杂一点的流程
 
  如果还觉得不够抽象的话,再看看RCX时代的G语言开发软件,ROBO LAB 写出来的程序,是长这样的 :)
 
用robolab开发的程序
用robolab开发的程序
 
  乐高的图形化编程软件,有一点体验做得很棒:它将编程的实际操作和帮助文档有机的结合在了一起。在软件内以向导的方式提供了官方示例的机器人模型的详细搭建步骤,同时对于编程部分,也提供了分步引导的编程步骤。帮助文档的界面和实际编程的界面完美的融合在一起,很少看到过教学体验比这更好的软件。比如NXT2.0版本的一个弹球机器人模型的帮助文档如下图所示:
 
NXTshooter bot模型的搭建示例
NXTshooter bot模型的搭建示例
 
  如果你有一定的编程经验,看到这里,你可能会怀疑,图形化编程虽然上手比较容易,但是在编写流程分支逻辑较为复杂的程序时,操作起来会不会比较麻烦?对于程序员来说,很多逻辑用代码来编写可能更加快捷一些,用各种组件拖拽,画成流程图反而是繁琐的
 
  有这种想法的不止你一个,所以,除了乐高官方推出的G语言开发软件以外,各种第三方公司和个人爱好者还为MindStorms 开发了支持各种不同编程语言的编程工具,所涵盖的语言包括: C / C++ / Basic / Python / Java / Haskell / Ruby / C# / Lisp / Swift 等等,当然,有些语言很多只是功能简化的版本(毕竟MindStorms主控模块的ROM和内存大小都有限) 。这些语言,也不是在所有的MindStorms产品上都支持,目前以NXT版本的支持最广泛。
 
  理论上,既然现在的EV3运行的已经是Linux,那么应该凡是能在linux上编译执行的语言都能支持,但是前提是,你需要有对应版本的编译器,EV3的硬件驱动和马达,传感器等组件的驱动库的支持,以及各种外设的Library函数库。
 
  所有的语言中,支持C语言的工具和开发环境相对成熟,完备一些,简单高效最重要,多数情况下,if else for switch也就差不多了 ;)
 
比如,ROBOTC 开发环境,提供类C的编程语言支持
比如,ROBOTC 开发环境,提供类C的编程语言支持
 
  书籍
 
  编程自然离不开教材 ;) 理论上看帮助文档你也能学会,不过,还是看书来得快
 
  首先当然是当家语言,NXT-G的教材了,下面这两本看起来比较靠谱(看起来,是因为我自己并没看过,当年玩NXT的时候,这么贵的原版书籍买不起:)
 
NXT-G编程艺术
NXT-G编程艺术

NXT-G编程指南
NXT-G编程指南
 
  然后是EV3版本的教材,有中文版相对就便宜一些了:
 
EV3程序设计艺术
EV3程序设计艺术
 
  第三方的编程环境也有教材,比如NXC(Not exactly C)
 
NXC编程入门
NXC编程入门
 
  还有不怕事多,教你自制外设,动手改造硬件的书籍,比如下面这本Extreme NXT(这本书,若干年前出差去美利坚的时候,在amazon上淘了一本二手的,至今没有动手实践过。。。:(
 
Extreme NXT
Extreme NXT
 
  总结
 
  乐高MindStorms机器人系列产品,最好玩的地方在于拥有各式各样的传感器以及可编程的主控模块,发挥你的想象和编程能力,你可以用它来做很多有趣的东西,比如做个会折纸飞机的流水线,或者做几个机械时钟
 
  即使你自己不具备MOC的能力,你也能在官网找到二十个以上有完整向导的示例模型,也够玩一阵子了
 
  如果你不满意乐高主控模块的性能,也可以尝试一下Arduino,树莓派等开发套件,它们都有第三方生产的用来对接乐高MindStorms组件的外设转接板,然后,你就可以启动你的登月或无人驾驶技术的研究啦 ;)
 
  好了,乐高的主要产品线,介绍到这里,也可以告个段落了,下一篇,准备介绍一下相关的社区和网站。
 
*本文系 彩色蚂蚁 授权 中外玩具网 发布
关注作者个人公众号 “望月的蚂蚁”,
了解更多有趣的爱好(桌游,乐高,旅行,摄影。。。)


当前位置:首页 > 资讯 > 文化 > 消费 > 正文

玩具批发选品、读资讯

下载中外玩具网APP