惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
G
Google Developers Blog
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
博客园 - 聂微东
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
V
Visual Studio Blog
美团技术团队
The Cloudflare Blog
量子位
T
The Blog of Author Tim Ferriss
罗磊的独立博客
V
V2EX
S
SegmentFault 最新的问题
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
博客园 - Franky

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
Arduino与Scratch3.0
种瓜 · 2020-05-03 · via 夜行人

文章目录

说明

这是之前的文章,更新以匹配 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。

技术视角

让我们切换到技术视角,看看按照上边的思路,我们具体要做些什么。

  1. 在Scratch3.0中创建Arduino extension
  2. 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插件