开始之前
第 1 课:环境配置(AI Scratch 图形化路线)
在 AIScratch 平台上烧固件、连板子、拖出第一个程序,全程不装任何软件
我是吴老师。这一节我们走"拖积木"这条路。
平台地址是 https://edit.ai-scratch.cn,中文名叫 AIScratch。你先把它打开,别管别的。
但在你动手之前,有件事我必须先讲清楚。这件事你不搞明白,后面每一步你都是在背口诀。
先讲个反常识的:你的程序根本没进板子
我知道你以为的流程是这样的:拖几块积木 → 点上传 → 积木变成代码、"烧"进板子 → 板子自己会跑。
不是这样的。 至少这个平台不是。
真实情况是这样:你往板子里烧一次"固件",那是一个固定的、永远不会变的程序。之后你拖的所有积木,都不会进板子——它们在浏览器里跑,每执行一块,就通过数据线往板子发一条指令,板子照做。
打个比方。板子是一个工人,固件是他的岗位培训——教他怎么听命令、怎么拧螺丝。你的积木是一张张递过去的纸条:"拿起来""放下""转 90 度"。工人负责干活,但纸条是你写的,也是你递的。
这个区别为什么重要?因为它直接决定了三件事:
第一,你关掉浏览器,板子就不干活了。 因为纸条不递了,工人就站着。板子会停在你最后一条指令造成的状态上,但不会再自己动。你想让它"独立运行",这个平台的常规模式做不到。
第二,它解释了为什么必须先"烧固件"。 工人没受过培训,你递多少纸条他都看不懂。固件就是那次唯一需要"烧"的东西。
第三,它解释了一个你迟早会踩的坑。 平台里确实有一组叫「离线程序」的积木——能把积木编译好下发给板子,让板子脱离浏览器自己跑。但那组积木只支持 ESP32-S3,我们用的是 C3,点了会失败。 这不是你操作错了,是平台没给 C3 做这个功能。这个坑我放在后面细讲。
开工前,先备好两样东西
第一样:Chrome 或 Edge 浏览器。
不能是别的。因为这个平台靠的是浏览器自带的串口直连能力(网页直接跟你电脑上的 USB 口说话),这个能力目前只有 Chrome 和 Edge 有。你用别的浏览器,它会直接告诉你"不支持"。
第二样:一条能传数据的 Type-C 线。
这个我反复念叨,是因为它太坑了。充电线和数据线长得一模一样,但充电线里面少两根芯,插上去板子会亮(因为电通了),电脑却永远找不到它。你会以为是驱动问题、是板子坏了、是平台有 bug——折腾一晚上,其实换根线就好了。
怎么判断?数据线一般比充电线粗一点点、硬一点点。更靠谱的办法是拿去接个 U 盘或者手机,看电脑能不能认出来。
第一步:烧固件(一次性的事)
固件是个什么东西,上面讲过了——就是工人的岗位培训。这一步只需要做一次,以后换积木、改程序都不用再烧。
-
连上板子。 用数据线把 ESP32-C3 接到电脑。板子上应该有颗灯亮起来,那是电源灯,说明电通了。
-
打开平台,找"连接硬件"。 在编辑器界面上找这个入口,点开它会弹出一个面板。
-
选板型。 面板里会让你选硬件类型和具体型号。你要选的是「ESP32-C3 SuperMini」。
这一步千万选对。平台支持三种板子——ESP32 开发板、ESP32-C3 SuperMini、ESP32-S3 触摸屏板——它们的固件是三份不同的东西,不能混用。烧错了,连的时候平台会告诉你板型不匹配。
不确定自己是什么板子?看板子上那颗最大的金属方块,上面印的字就是芯片型号。
-
点「烧录固件」,然后选串口。 点下去之后,浏览器会弹出一个窗口让你选串口(Windows 上通常长得像
COM3、COM4)。- 窗口里有端口 → 选它,等一两分钟。
- 窗口里空空如也 → 停。这是硬件层的问题,跟平台无关,先解决它(见下面"卡住了怎么办")。
-
别拔线。 烧录过程一两分钟,中间看着像卡住了,其实在干活。这时候拔线是新手最常干的事,也是最能白费力气的事。
第二步:连接
烧完固件,板子会自动重启。回到「连接硬件」面板,选连接方式,点「连接设备」。
平台给你两种连接方式:蓝牙和 USB 串口。
第一次做,我建议你用 USB 串口。 不是因为它更好,是因为它更好排查——出问题的时候你能看见"有没有 COM 口"这个明确的信号。蓝牙的连接问题往往是一团迷雾,你看不见任何东西。等你熟了,再试蓝牙。
连接这一步我录了屏,你可以跟着走一遍:
关于蓝牙,有两件事你得先知道
第一,蓝牙不能烧固件。
很多人以为"能用蓝牙连"就等于"能无线烧程序"——不是的。烧固件是在改写板子内部存储的内容,必须插数据线。蓝牙是固件装好之后,用来跟它通信的通道。
打个比方:装系统要用 U 盘插上去,装好之后才能远程控制这台电脑。 蓝牙是那个"远程控制"。
| 要做的事 | 能用蓝牙吗 |
|---|---|
| 烧固件 | ❌ 必须插线 |
| 连接板子、运行积木 | ✅ 可以 |
第二,蓝牙会掉线,串口不会。
板子离远了、隔着墙、周围 2.4G 设备太多(路由器、别人的蓝牙耳机),蓝牙都可能中途断开。线插着就是插着,串口没这个问题。
所以我的建议是:平时用串口干活,要拿着板子走两步演示的时候再切蓝牙。
还有一点很重要:连上之后,两种方式用起来完全一样。 你拖的积木、程序的行为,没有任何区别——连接方式只是"数据走哪条路",不改变你能做什么。
连接成功后,平台会自动帮你加载对应的积木扩展,你不用自己去找。
第三步:认识你要用的积木
这是这个平台的核心积木,你迟早会认全。我先按"你要干的事"给你归个类:
| 你要干的事 | 用什么积木 |
|---|---|
| 点亮 LED、驱动蜂鸣器 | 设置引脚模式 + 设置数字引脚 |
| 判断按钮按没按、红外有没有被挡 | 读取数字引脚 |
| 读光线、温度、声音大小 | 读取模拟引脚(返回一个数值) |
| 测距离 | 读取超声波(填 Trig 和 Echo 两个脚) |
| 读温湿度 | DHT 初始化和读取 |
| 让舵机转到某个角度 | 舵机初始化 + 设置角度 |
| 让蜂鸣器响 / 播一个音 | 有源蜂鸣器开、无源蜂鸣器播音符 |
| 在屏幕上看调试信息 | 打开串口监视器 + 串口打印 |
| 同时点亮好几个东西 | 「同时执行」容器积木 |
平台还提供了很多独立扩展包,你需要哪个就去扩展库里加哪个:OLED 显示、RGB 灯带、点阵屏、TFT 彩屏、MPU6050 陀螺仪、颜色传感器、RFID 读卡、数码管、步进电机、旋转编码器、GPS、MP3 播放、WiFi 联网、ESP-NOW 通信等等。
这里有个好消息:你套件里的温湿度、超声波、舵机、蜂鸣器、红外、OLED,平台都有现成的积木。你不用管什么单总线协议、什么 I²C 时序——那些脏活平台替你干了。
你的 C3 能用哪些引脚(这张表要记住)
这是 C3 和普通 ESP32 最不一样的地方,也是接线时最容易出错的地方。
C3 能用的引脚是:GPIO0 ~ GPIO10,加上 GPIO20、GPIO21,一共 13 个。
为什么少了这么多?因为 C3 这颗芯片很小,很多引脚被内部占用了:
| 引脚 | 情况 |
|---|---|
| GPIO11 ~ GPIO17 | 被内部的 flash 存储占着,没引出来,你接不到 |
| GPIO18、GPIO19 | 是 USB 的 D-/D+,也不能当普通引脚用 |
| GPIO2、GPIO8、GPIO9 | 是启动时的特殊引脚,能当 GPIO 用,但建议避开 |
模拟引脚(能读连续值的)只有 6 个:GPIO0 ~ GPIO5。 你的光敏、热敏、麦克风、电位器,都得往这 6 个里面接。
平台给的默认引脚是这样,你可以直接照着接,也可以自己改:
| 用途 | C3 默认引脚 |
|---|---|
| 数字引脚 | GPIO3 |
| 模拟引脚 | GPIO0 |
| 超声波 Trig / Echo | GPIO4 / GPIO5 |
| 舵机 | GPIO7 |
| 蜂鸣器 | GPIO7 |
| OLED 的 SDA / SCL | GPIO8 / GPIO9 |
留意最后一行:OLED 默认占用的
GPIO8、GPIO9,正好是上面表格里说"建议避开"的那两个。能用,但你心里要有数——如果 OLED 显示不正常,或者板子偶尔启动不了,先怀疑这里。
一个你必须知道的限制
这个平台没有"点亮板载 LED"的积木。
我特意去翻过,没有。平台里所有让灯亮的操作,都是靠通用的引脚积木加外接 LED 来实现的。
所以你做第一个"灯闪"实验时,必须把套件里那个 LED 模块接上去——就是那个三根线的模块,VCC 接 3.3V、GND 接 GND、IN 接 GPIO3。
这件事听起来是个麻烦,其实是个好事。因为你会亲手做一次"引脚 → 输出 → 现象"的完整连接,而不是靠一颗焊死在板子上的灯糊弄过去。这对你理解引脚是什么,比什么都管用。
卡住了怎么办
问题一:浏览器选串口的窗口里,一个端口都没有。
按这个顺序查,别跳步:
- 换根线。 就是你手上这条,换一条确定能传数据的(拿手机试过的那种)。这一条能解决一半以上的情况。
- 换个 USB 口。 台式机尽量插机箱后面板,前面板有时候供电不稳。
- 看设备管理器。 Windows 上打开设备管理器,看有没有带黄色感叹号的设备。有的话是驱动没装。
- 装驱动。 串口芯片有三种常见型号——
CH340、CP2102、FTDI。你的板子上是哪个,看板子 USB 口旁边那颗小芯片上印的字。装对应驱动,重新插拔。
问题二:烧录的时候报错,说打不开串口。
多半是别的程序占着这个口。把 Arduino IDE、串口助手、还有其他开着的编辑器全关掉,再试。
还不行就按住板子上的 BOOT 按钮不放,点烧录,然后再松开。这是让板子强制进入下载模式。
问题三:烧录成功,但连不上。
先确认板型选对了(必须选 ESP32-C3 SuperMini)。选错板型,连接时平台会告诉你板型不匹配——这不是 bug,是在保护你,免得它拿着错误的引脚表瞎指挥。
问题四:点了「下载离线程序」没反应,一直转圈。
这个我知道原因。离线程序功能只支持 ESP32-S3,不支持 C3。 平台界面上没拦着你,所以你点了会失败。
这不是你操作的问题,是平台的功能限制。在 C3 上,程序就是要在浏览器里跑,做不到脱离电脑独立运行。 想做真正独立运行的东西,得走代码路线——01 那节课会讲。
这条路的长处和短处
长处,很实在:
- 反馈快。 拖三块积木就能看到灯闪。这种即时成就感,是代码路线给不了的。
- 不用跟语法较劲。 分号、括号、大小写,这些新手最容易栽的地方,这里统统没有。
- 脏活有人干。 超声波、温湿度、OLED 这些要用协议的模块,平台把协议封好了,你只管用。
- 概念看得见。 "引脚""循环""判断"都变成了看得见摸得着的块。
短处,我也摊开讲:
- 绑在平台和浏览器上。 你的作品离了这个平台打不开,也离不了浏览器。这是这条路最大的硬伤。
- 积木一多就乱。 超过三四十块,屏幕就成一团麻。那时候代码反而清晰。
- 平台没有的模块,你就卡死。 想接个平台不支持的传感器,这里基本无解。
- 底层的知识被藏起来了。 为什么这个传感器要接上拉电阻?为什么这里要延时?平台替你做了,你也就不会问了。而这些问题,恰恰是硬件课最值钱的部分。
一句话:图形化擅长让你"入门"和"看见结果",不擅长让你"走远"。
这话不是贬低它。它是让你在第一个小时里就尝到甜头,不至于被劝退——这件事本身就很有价值。但你要清楚它是干什么用的,别指望它带你到终点。
什么时候该转到代码
我的建议是:尽快转,但别太急。
具体说,等你用积木把"引脚 → 输出 → 现象"这条链路走通两三次,就该动了。 那时候你已经有了最关键的认知——知道程序是怎么通过引脚影响真实世界的。剩下的,只是换一种写法。
转的时候,你会发现积木和代码是一一对应的:
| 你在图形化里拖的 | 代码里是 |
|---|---|
| 设置引脚模式 | pinMode(3, OUTPUT); |
| 设置数字引脚为高 | digitalWrite(3, HIGH); |
| 等待 1 秒 | delay(1000); |
| 读取模拟引脚 | analogRead(0) |
| 重复执行 | void loop() { ... } |
| 重复 10 次 | for (int i = 0; i < 10; i++) |
| 如果…那么… | if (...) { ... } |
你看,一一对应,一块不多,一块不少。 你在图形化里已经把逻辑想清楚了,转代码不是从零学新东西,是换个写法。
那节灯闪的课,翻译成代码就是这个样子:
void setup() {
pinMode(3, OUTPUT); // 把 GPIO3 设为输出
}
void loop() {
digitalWrite(3, HIGH); // 点亮
delay(1000); // 等 1 秒
digitalWrite(3, LOW); // 熄灭
delay(1000); // 等 1 秒
}就这么四行。图形化里你拖的那几块积木,一块对着这里的一行。
自测
答案与解析
积木是在浏览器里执行的,每执行一块才往板子发一条指令。浏览器一关,指令就断了,板子就停在原地。想让板子脱离电脑自己跑,得用代码路线(第 2 课)。
答案与解析
这不是你操作错了,是平台没给 C3 做这个功能,而且界面上没拦着你。在 C3 上,程序就是要在浏览器里跑。
答题要点
答题要点应该包含:固件是烧进板子内部存储的固定程序,它负责"听懂指令并执行",烧一次就长期存在。而你拖的积木从来没有进过板子——它们在浏览器里执行,通过数据线一条条发指令给固件。所以改积木不需要重烧固件,就像你换一个 App 用,不用重装操作系统。
拓展为什么 ESP32-C3 只有 13 个引脚能用,而看起来芯片上明明有更多?
这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。
提示:搜"ESP32-C3 引脚图 pinout"、"GPIO11 flash 保留"。想一想:一块芯片内部还要连什么东西?flash 存储和 USB 是怎么接的?
拓展平台的"积木"到底是怎么变成板子能听懂的指令的?
这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。
提示:搜"串口通信 二进制协议"、"Scratch 硬件扩展 原理"。想一想:网页和板子之间那条数据线,传的到底是什么?
本节你要动手做的事
别光看,做完这四件事,这一节才算过:
- 烧固件。 用 Chrome 或 Edge 打开 https://edit.ai-scratch.cn,连上板子,在「连接硬件」里选 ESP32-C3 SuperMini,点「烧录固件」,选串口,等它跑完。中途别拔线。
- 接上 LED 模块。
VCC接3.3V,GND接GND,IN接GPIO3。接之前先断电。 - 连上板子,拖出灯闪程序。 就四块积木:设置
GPIO3为输出 → 设为高 → 等一秒 → 设为低 → 等一秒,放进"重复执行"里。点绿旗,看灯。 - 记一份笔记。 写下三件事:你选的板型、你用的引脚号、你看到的串口号。这三个信息后面每节课都要用,忘了就得从头来一遍。
做完这四件事,你手上就有一个能跑的环境了。
说句实在的:看到这里你还没走,已经击败全国 80% 的选手了。
我不是哄你。多数人的开发板买回来就在盒子里躺着,拆都没拆过。剩下那些拆了的,一大半卡在"装环境"这一步——因为这步最没意思,没有灯闪、没有舵机转,只有一堆看不懂的报错。
你现在手上这块板子,是活的。 它能听懂你拖的积木了。
后面就开始有意思了——灯会亮,会闪,会跟着你写的逻辑走。
下一步去第 2 课:Arduino CLI 代码路线,我们用代码,把同一盏灯再点亮一次。