scratch官方称,在scratch3.0发布的时候会携带micro:bit插件,这意味这你可以轻松将scratch延伸到物理世界。

两种硬件编程风格

在少儿编程/硬件编程教育领域,硬件编程有两种风格,我将这两种风格分别称为灌入式交互式

scratch3.0为我们带来的micro:bit硬件编程,采用交互式风格。

我相信就少儿编程教育而言,交互式远远优于灌入式,我最近正在写一篇文章谈论这个话题(《两种硬件编程风格的比较》)

我准备讨论这两种编程风格给学习者的编程体验 以及心理状态状态所带来的影响。所谈论的很多内容,在编程语言的发展历史中都被反复讨论过。

下边我们来简单看看两个阵营都有哪些代表性项目。

在硬件图形化编程项目中,灌入式阵营有名的项目包括:

事实上,所有传统的硬件编程都是灌入式的,

交互式阵营的项目有:

交互式阵营近期还将迎来下边两个项目:

如果你尝试过Cozmo code lab的编程体验,你就知道交互式可以做到何等优秀。Cozmo几乎在任何方面都一骑绝尘。

灌入式交互式带来截然不同的编程体验,对此有兴趣的同学,可以等我近期的文章,我对这个话题十分感兴趣,也欢迎你来信讨论

scratch3.0 + micro:bit尝鲜

尽管scratch3的micro:bit插件还没有正式发布,但目前我们以及可以尝鲜了

注意: 目前只支持macOS、chrome OS、安卓三个平台下的 Chrome浏览器,暂不支持Windows系统 (因为用到web bluetooth)

下载并烧入固件

下载scratch-microbit-firmware-combined.hex

将scratch-microbit-firmware-combined.hex拖到microbit里

连接

打开系统蓝牙

打开llk microbit

点击连接蓝牙:

连接完成之后,我们就可以开始在scratch3.0中为microbit编程了

由于是交互式风格,我们可以轻松做出互动式的体感游戏之类富有想象里的东西。

开始编程

首先在extensions中选择micro:bit扩展:

下边让我们写个简单的程序,用micro:bit来控制scratch3.0中的人物左右移动:

让我们来看看实际效果:

技术视角

scratch3.0的micro:bit采用web-bluetooth。这是一种激进的策略,web-bluetooth目前的跨平台兼容并不好,各个平台的进展可以参考这儿,目前只在macOS、chrome OS以及安卓上可以正常使用,最终scratch3.0稳定版中micro:bit extension是否会采用web-bluetooth的连接策略还不得而知(但他们显然偏好这种方式,他们自己准备推出的硬件:ScratchBit也采用这种策略)。官方可能采用的另一个策略是microbit-extension,这种方式的跨平台兼容性好,原理上和scratch3-adapter相同

和scratch官方一样,我也相信web-bluetooth是硬件编程教育的未来,采用这种方式,只需要你有一个chrome浏览器,就可以直接操控硬件!

我的scratch3-adapter采用了比较折中的策略,没有强行要求使用web-bluetooth,而是把连接的策略推迟给开发者,让他们自行选择。

参考