Arduino与Scratch3.0
文章目录
说明
这是之前的文章,更新以匹配 CodeLab Adapter 3.0
陆续有开发者问到,如何使用CodeLab Adapter将Arduino接入到Scratch3.0中?
思路
有许多种方法能做到这点,但我比较偏好在arduino中烧入Firmata固件。之后与固件交互,我在两种硬件编程风格的比较论述了这样做的好处。
之后使用Firmata python client与Arduino交互。
推荐的Firmata python client有:
如何设计出合理的积木是个非常有趣的话题,它本质上是个设计工作,而不是技术工作。我推荐采用"单一入口原则"(来自realtalk的建议)。这个原则对于构建创造性工具极有帮助。 在本文中展示如何使用这个原则来将Arduino接入到Scratch3.0。
我对Firmata并不熟悉。 所以后文里,直接使用pyserial与arduino通信。Firmata python client包转了pyserial。
技术视角
让我们切换到技术视角,看看按照上边的思路,我们具体要做些什么。
- 在Scratch3.0中创建Arduino extension
- 在CodeLab Adapter中构建extension_arduino
如果你没有在Scratch3.0中创建过插件,请先阅读创建你的第一个Scratch3.0 Extension
本文准备采用"单一入口原则",所以Scratch3.0中的Arduino extension与CodeLab Adapter之间将直接传递Python代码,语义的传递过程为:积木
->Python代码
, 之后由extension_arduino负责运行代码。
在Scratch3.0中创建Arduino extension
我目前只构建了一个控制led的积木,作为演示,添加更多积木,依葫芦画瓢便可。
演示
内置插件
本文只是讲解了思路,目前 Adapter 内置了 Arduino uno插件
文章作者 种瓜
上次更新 2020-05-03