Tutorial

依赖

  • 安装CodeLab Adapter
  • 安装Chrome 浏览器
    • 目前 Scratch 官方团队在陆续支持更多浏览器版本,现阶段使用 Firefox/Chrome 浏览器效果最佳.
    • 建议将其设为默认浏览器.

步骤 1:打开 Codelab Adapter

双击打开 Codelab Adapter。

Codelab Adapter 启动之后,将打开默认浏览器。

步骤 2:打开 Codelab Scratch3

点击 Web UI 上的scratch3链接, 或者点击这儿, 将打开如下页面:

图中箭头所指的小圆点呈现绿色 说明 Codelab Adapter 与 Scratch3.0 的连接正常

步骤 3:连接设备,加载插件

步骤 3.1:为 Arduino UNO 烧入固件:FirmataExpress

安装 Arduino IDE

FirmataExpress 安装到 IDE 中

打开 Arduino IDE 并选择工具/管理库(Tools/Manage)。当出现库管理器时,在搜索框中输入 FirmataExpress ,然后单击安装。

安装超声波库:FirmataExpress 还依赖 Erick Simões 的超声库。再次使用 Arduino 库管理器搜索超声波,选择 Erick Simoes 的版本。

将 FirmataPlus 编译并上传到 Arduino:

选择文件/示例(File/Examples),然后从下拉列表中选择 FirmataExpress。

上传到 Arduino。

至此,我们就完成了 Arduino 相关的工作。

步骤 3.2:重置 Arduino

每次使用前,按下 Arduino 的重置按钮。

步骤 3.3:加载插件

在 CodeLab Adapter 中点击加载 Arduino UNO 插件:

点击加载插件之后,你应该会看到板子上的 LED 闪烁。如果一切正常,大约 5 秒钟之后(连接时间由 pymata_express 决定),你将看到连接 Arduino UNO 成功的提醒。现在你可以开始在 Scratch 里编程了。

ps: Linux 用户注意,scratch3_adapter 使用 USB 串口与 Arduino 连接,Linux 下,使用 USB 串口需要做权限设置:sudo chmod 666 /dev/ttyACM0

步骤 4:hello world

现在让我们利用 CodeLab Scratch3 控制 Arduino。

选择对应的 Scratch3 插件:Arduino UNO。

选择对应拓展积木,点击运行。

提醒

引脚在设置具体值之前,不允许读取,否则会出现tx/rx持续轮询被占用(你可以观察到板子上的灯常亮),这是 pymata_express 的机制决定的。遇到这种情况,请按下重置按钮重新连接。

感谢

感谢 mryslab 在硬件驱动上的工作,该插件从他的工作中移植过来。

结语

这个例子完整展示了 CodeLab Adapter 的使用流程

  • 打开 CodeLab Adapter
  • 打开 CodeLab Scratch3
  • 接入你的设备(可以是任何开源硬件)
  • 打开对应插件
  • 选择对应拓展积木,在 Scratch 3.0 中与设备交互

如果你想接入的设备目前没有默认插件支持它(诸如 Arduino 的其他版本:Nano 之类的),你可以自己来写,CodeLab Adapter 允许你将任何硬件接入 Scratch 3.0 中,别害怕,需要的代码很少也很简单,详情参见开发手册。我们支持使用任何编程语言来写拓展,目前我们自己主要使用 Python。

我们也将在 extension guide 中介绍各种社区插件的使用方法。