儿童编程arduinoarduino scratch创客教育

我为什么喜欢mBlock-Like的Arduino软件?

2017-05-13  本文已影响605人  少儿创客

先说观点,很多人问我开始学习Arduino的时候,用什么编码软件学习?我一般推荐mBlock软件——虽然我不喜欢MakeBlock的硬件——mBlock这个软件还是很好用的。

目前比较流行的Arduino开源硬件图形化编程有mBlock、魔爪、咔哒爸爸、Mixly、ArduBlock、Mind+等软件,非图形化的编程软件一般就是Arduino、Processing、Sublime+Arduino插件,甚至是Vim都是可以的。

mBlock 咔哒爸爸 Mixly ArduBlock Mind+感觉有些反人类 Arduino界面 Processing界面

但是我一般强烈推荐mBlock——MakeBlock不给我一分钱——因为mBlock是基于Scratch 2.0开发的,能够实现物理计算Physical Computing,小学生现在逐步将熟悉Scratch,学习Scratch之后再使用mBlock来对Arduino编程,衔接非常紧密,最重要的是mBlock可以实现传感器与舞台的互动——其实就是上位机程序——可以实现更多创意,而这时Mixly、ArduBlock等不具备的。

开源硬件编程软件的分类

从编程的形式上分:

更详细的说,mBlock类似的软件,在线编程模式下,是可以使用外观代码块的

这样小学生们就可以有很多丰富的创意,把软硬件结合起来,这是我最看重的

开源硬件编程软件的另外一种分类

根据上面的分类,开源硬件编程软件其实就分为两类:

其实mBlock吧,对于开源硬件的支持是很有限的,远不如Mixly支持的传感器多,Mixly支持的厂家和传感器都多,但是小学生阶段并不需要太复杂的传感器,很简单的舵机、电机、LED、声音传感器、光敏传感器等用mBlock提供的Arduino基本编程功能都可以实现的,基本上就是读、写IO引脚的状态,或者读取值。

就像只要顺序、判断、循环可以实现复杂的程序一样,Arduino只需要有限的代码块,也可以实现很多开源硬件的编程。

当然如果Mixly下一步如果实现了舞台功能,我肯定会拥抱Mixly的。

Mixly还有个问题是,基于Blockly编程,设计思路并不是很接近小学生,对于中学生是没有问题的,作为中学生开源软件编程入门,然后转c是可以的。

当前国内的图形化编程软件很多,有的是不开源,免费使用的,有的是免费使用的,虽然都是图形化编程,有的是基于Scratch 2.0的,比如mBlock和魔爪;有的是基于Blockly的,比如Mixly和AppInventor;还有的是基于Scratch 3.0的,也就是Scratch Blocks;然后就是有的公司提前开始行动,基于Google和MIT媒体实验室合作的Scratch Blocks开发的软件;然后目前Google Blockly Games现在也比较流行;再就是有基于伯克利大学的Snap来开发的,比如树上科技的ScratchPi软件,跟Scratch非常类似,比较好用呢。

基于伯克利Snap开发的ScratchPi界面

在mBlock或者说Scratch 2.0的基础上,很多公司开发定制了自己的软件,比如咔哒爸爸——据说是一个工程师爸爸为儿子开发的——kBlock软件;KittenBot等,包括美科的软件。

这些在Scratch 2.0基础上开发的软件,有的是自己重新实现了固件,比如mBlock自己写了底层,自己定义了协议;

mBlock自己实现的固件

很多别的公司也是在Scratch 2.0基础上开发了自己的固件,然后实现了在线编程;甚至还有的公司直接在mBlock基础上二次开发,仅仅是自己组了一些套件,然后根据Scratch的标准来写扩展,实现了自己的代码包:

mBlock扩展 咔哒爸爸模块

而且可以自己设计硬件,然后写固件硬件,定义自己的接口,每家的硬件无论是MakeBlock自己家的,咔哒爸爸,还是张晓胜老师的桌面试验箱,都是自己定义了固件,接口,自己做了适配

咔哒爸爸

实际上还有一种方式,就是在浏览器里对Arduino尽心改变成,需要安装Scratch官方的插件,作为中介通信;像诺丁科技做的东西是在线云编译。

其实像Mind+、ArduBlock这些开源软件,后来都不维护了,是很可惜的,当然自己用的也少。

这种

上一篇下一篇

猜你喜欢

热点阅读