开始之前
第 0 课:课程大纲
45 节课的完整路线图,从点亮一颗灯到让板子上网、做出能拿回家的东西
我是吴老师。动手之前,你先花五分钟看一眼这张地图。
为什么值得看? 因为硬件这东西,最怕的就是"学到一半不知道自己在哪"。你会遇到这种情况:某个实验不亮,你不知道是自己错了,还是这本来就该这样——于是白白卡两个小时。
知道自己在哪一步、这一步是为了什么、下一步去哪,你就能判断"现在这个现象正不正常"。这是老手和新手最大的差别,不是知识量,是方位感。
所以这条路我先把全程画给你看。
全景:五个单元,45 节课(全部已上线)
| 单元 | 节数 | 课时 | 一句话 |
|---|---|---|---|
| 一、开始之前 | 6 | 9 | 认识家伙什:环境、材料、教具、万用表 |
| 二、基础入门 | 5 | 9 | 点亮第一颗灯,走通第一条闭环 |
| 三、模块熟悉 | 16 | 10 | 一个一个认识套件里的模块 |
| 四、联网与通信 | 6 | 15 | 让板子上网、当服务器、互相说话、被手机控制 |
| 五、实战课题 | 12 | 33 | 做出十二个能拿回家的东西 |
| 45 | 76 |
视频课不单独成章了。 我录的屏打散插在对应的文字课后面——比如"视频:按钮"就排在第 8 课后面。所以你看到某个模块那里,前面是文字,后面跟着视频。
视频跟文字是配合关系:文字讲"为什么",视频给你看"手怎么动"。别把视频当独立的东西看——先看视频过一遍,再回文字课读原理,然后跟着做。
看两组数字。
第一组:实战单元的课时占了一半(33/76,比前面所有课加起来还多)。
这个比例是我故意的。前面那些课你学的全是"零件"——LED 怎么点、传感器怎么读、舵机怎么转。这些都不是目的,是手段。 真正的目的是最后那 12 个课题:你能拿在手上、能给爸妈看、能说"这是我做的"的东西。
所以别在前面急着赶进度。你在第 9 课多花的那半小时,会在第 30 课变成少卡的两小时。
第二组:联网单元只有 6 节课,却占了 15 课时——比整个"模块熟悉"单元(16 节课才 10 课时)还多。
为什么?因为联网的坑不在代码,在网络环境。接错一根线,你能看见灯不亮;连不上网,你只能看见"没反应"。问题可能出在 WiFi 名字、密码、路由器、天线、服务器地址……排查这些比排查一根线难十倍。 我给足课时,就是让你有地方摔。
两条路线,先想清楚
这套课有两条并行的路线,你选一条走。它们不是难度不同的同一门课,是两种不同的学法:
| 图形化路线 | 代码路线 | |
|---|---|---|
| 用什么 | AI Scratch 平台,拖积木 | Arduino CLI,自己写代码(AI 辅助) |
| 入口 | 第 1 课 | 第 2 课 |
| 适合 | 零基础、年龄偏小、怕看代码 | 想真正学会写程序 |
| 天花板 | 平台有什么积木,你就能做什么 | 只要能装库,几乎什么都能做 |
关键区别在最后一行。 图形化是"平台给你什么",代码是"你想要什么"。
所以有两节课只有代码路线能做:
| 课 | 为什么 |
|---|---|
| 21 板子开热点 | 需要让板子当网页服务器,图形化平台没有这个积木 |
| 25 蓝牙 BLE | 平台里的"蓝牙"是连接方式(代替数据线),不是可编程功能 |
其余所有课程,两条路线都能做。 碰到这两节,走图形化的同学跳过就行,不影响后面。
一、开始之前
| # | 课程 | 难度 | 课时 | 学什么 |
|---|---|---|---|---|
| 1 | 环境配置:AI Scratch 图形化路线 | A | 1 | 拖积木入门,不写代码 |
| 2 | 环境配置:Arduino CLI + AI 辅助路线 | A | 1 | 写代码,AI 帮你装环境 |
| 3 | 材料清单 | A | 1 | 18 件点货,认丝印、认杜邦线 |
| 4 | 认识你的教具 | A | 2 | 供电/地/信号三根线、三类模块划分、丝印怎么读 |
| 5 | 万用表:学会看见电 | A | 3 | 通断、直流电压,以及**"电→信号→代码"的排查顺序** |
目标只有两句话:把家伙什认全,让板子能跑起来。
先说清楚这一章在干什么。 前 3 课搞定环境和材料,第 4 课认元件,第 5 课学时整套课里最重要的工具——万用表。
万用表为什么给 3 课时? 因为后面 12 个实战课题,每一个都会埋一个只有万用表才能定位的故障。这节课学扎实,后面少哭很多次。
这一单元有个硬标准:你必须亲手跑通一次"上传 → 板子有反应"。没跑通,别往下走。因为后面每节课都建立在这个前提上,地基没打好,你会卡在同一个地方反复摔。
二、基础入门
| # | 课程 | 难度 | 课时 | 学什么 | 用到的件 |
|---|---|---|---|---|---|
| 6 | 点亮 LED 模块 | A | 1 | 数字输出、高电平低电平 | LED |
| 7 | 串口打印:让板子开口说话 | A | 1 | 串口调试、看懂打印出来的数 | 主控 |
| 8 | 按钮:数字输入与消抖 | A | 1 | 数字输入、上拉下拉、按键抖动 | 按钮 |
| 8.5 | 【视频】按钮 | — | — | 接线、读数字引脚、消抖 | 录屏 |
| 9 | 走通第一条闭环 | A | 1 | 输入→判断→输出,这是所有作品的骨架 | 按钮 + LED |
三、模块熟悉
| # | 课程 | 难度 | 课时 | 学什么 | 用到的件 |
|---|---|---|---|---|---|
| 10 | 电位器与 ADC | A | 1 | 模拟输入、ADC 原理、分压 | 电位器 |
| 11 | 光敏传感器:光线有多亮 | A | 1 | 模拟量随环境变化、阈值判断 | 光敏 |
| 11.5 | 【视频】光敏传感器 | — | — | 录屏 | |
| 12 | 热敏传感器:温度藏在哪里 | B | 1 | 非线性换算、校准 | 热敏 |
| 12.5 | 【视频】热敏传感器 | — | — | 录屏 | |
| 13 | 麦克风模块:声音有多响 | B | 1 | 模拟量的包络、峰值保持 | 麦克风 |
| 13.5 | 【视频】声音模块 | — | — | 录屏 | |
| 14 | 红外传感器:前面有东西吗 | A | 1 | 红外反射原理、调灵敏度 | 红外 |
| 15 | 超声波模块:量个距离 | B | 1 | Trig/Echo 时序、单位换算 | 超声波 |
| 15.5 | 【视频】超声波模块 | — | — | 录屏 | |
| 16 | 温湿度传感器 DHT11 | B | 1 | 单总线协议、数字传感器的"脾气" | 温湿度 |
| 17 | 蜂鸣器:发出声音 | A | 1 | 数字输出、有源无源的区别 | 蜂鸣器 |
| 17.5 | 【视频】蜂鸣器 | — | — | 录屏 | |
| 18 | 舵机:让角度转起来 | B | 1 | 模拟输出(PWM)、占空比、供电 | 舵机 |
| 19 | OLED 显示屏:把数字画出来 | B | 1 | I²C 总线、多设备挂载 | OLED |
| 19.5 | 【视频】OLED 显示屏 | — | — | 录屏 |
四、联网与通信
这个单元是 ESP32-C3 区别于普通开发板的地方。 前面那些模块,一块几十块的 Arduino 也能做;上网、无线通信,是这块板子真正的本事。
| # | 课程 | 难度 | 课时 | 学什么 | 需要什么 |
|---|---|---|---|---|---|
| 20 | WiFi 联网:让板子上网 | B | 2 | 连路由器、拿到 IP、什么是"联网" | 路由器 |
| 21 | 板子开热点:手机遥控 LED | B | 3 | AP 模式、板子当网页服务器** | 不需要任何外设 |
| 22 | HTTP 请求:板子去访问网页 | B | 2 | GET/POST、拿到返回内容、状态码 | 路由器 |
| 23 | MQTT:巴法云远程控制 | C | 3 | 发布/订阅、主题、远程控制灯 | 路由器 |
| 24 | ESP-NOW:两块板子对话 | B | 3 | 板间直连、MAC 地址、广播 | 两块板子 |
| 25 | 蓝牙 BLE:手机连上板子 | B | 2 | BLE 是什么、连接通道 vs 功能 | 仅代码路线 |
第 21 课我觉得是先讲的,理由很实在
它是唯一一节不需要任何外部设备的联网课。
- 不用路由器
- 不用 MQTT 服务器
- 不用买第二块板子
- 不用注册任何账号
板子自己开一个 WiFi 热点,你的手机连上去,浏览器打开一个地址,看见的是板子自己吐出来的网页。点一下按钮,灯亮了。
这一节课你会有个很特别的感受:原来这块小小的板子,自己就是一个服务器。它不只是"能上网的设备",它能给别人提供网页。
这个认知很重要。它把"联网"从"我的板子去求别人"变成了"我的板子自己就是一方"。后面学 MQTT、学 HTTP,你会一直用到这个视角。
所以我把这一课放在最前面(第 21 课),虽然它是个"实战案例",但它更适合当联网单元的入口。
三件必须先知道的事
① ESP-NOW 需要两块板子。
第 24 课是"两块板子互相说话",你只有一块就做不了。两个办法:再买一块(几十块,跟同学合买也行),或者跳过。它不影响后面的课程。
但我还是建议你为它多买一块。这是套件里最有科技感的东西——两块板子不用路由器、不用网络,隔空直接对话。
② 蓝牙只在代码路线能做。
图形化平台没有蓝牙编程的积木。平台里的"蓝牙",作用是代替数据线连接板子(一种更省事的连法),不是让你写蓝牙程序。这是两回事,第 25 课会讲清楚。
③ MQTT 需要一个服务器,我用巴法云。
先说清楚巴法云是什么:它就是互联网上的一台服务器(bemfa.com),专门负责收发 MQTT 消息。国内的、免费的、有网页调试台——你可以在浏览器里直接发消息测试,不用写一行代码。
它跟你的板子是哪条路线没关系,跟 AI Scratch 也没关系。 它不属于任何平台,就是一个对外的服务——谁讲 MQTT 都能连它:你的 ESP32 能连,我的电脑能连,别人写的 Python 脚本也能连。大家只是在同一个"邮局"里收发各自主题的信。
这一点你理解了,MQTT 就理解了一半——MQTT 的核心就是"大家都去同一个邮局",跟寄信的人用什么笔、什么纸没有关系。
为什么联网的课时给这么多
因为联网出问题的时候,你几乎看不见任何东西。
接错一根线,你能看见灯不亮;连不上网,你只能看见"没反应"。问题可能出在:WiFi 名字错、密码错、路由器限制了新设备、板子天线没接好、服务器地址不对、对方服务器就是挂了……
排查这些,比排查一根线难十倍。 所以第 20 课我会专门讲"连不上网的时候,按什么顺序查"——这套顺序比代码本身值钱。
五、实战课题
这是整门课的重头戏。 前面 25 节课你学了一堆零件和本事,现在开始把它们攒成真东西。
| # | 课题 | 难度 | 课时 | 组合 | 做什么 |
|---|---|---|---|---|---|
| 26 | 光控小夜灯 | A | 2 | 光敏 + LED | 纸皮灯罩 |
| 27 | 红外感应灯 | A | 2 | 红外 + LED | 纸皮底座 |
| 28 | 倒车雷达 | A | 2 | 超声波 + 蜂鸣器 + LED | 冰棒棍支架 |
| 29 | 调光台灯 | B | 2 | 电位器 + LED | 纸皮灯罩 |
| 30 | 坐姿提醒器 | B | 3 | 超声波 + 蜂鸣器 + OLED | 冰棒棍支架 |
| 31 | 追光小雷达 | B | 3 | 光敏 + 舵机 + OLED | 冰棒棍云台 |
| 32 | 打地鼠游戏机 | B | 3 | 按钮 + OLED + 蜂鸣器 | 纸皮机身 |
| 33 | 桌面温度计 | B | 3 | 热敏 + DHT11 + OLED + 蜂鸣器 | 纸皮表盘 |
| 34 | 联网天气站 | B | 3 | WiFi + HTTP + OLED | 纸皮相框 |
| 35 | 远程开关灯 | C | 3 | WiFi + MQTT + LED | 纸皮灯座 |
| 36 | 无线报警器 | C | 3 | ESP-NOW + 蜂鸣器 + LED | 冰棒棍外壳 |
| 37 | 智能温室模型(结课) | C | 4 | 温湿度+光敏+超声波+OLED+舵机 | 纸皮房子 |
联网类的三个课题,各代表一个方向
35 联网天气站 —— 板子去外部世界取数据(当客户端)。 这是你的板子第一次跟外部世界发生关系。前面所有实验,板子都只在你的桌子上自娱自乐;从这节课起,它读到的是真实世界的数据。
36 远程开关灯 —— 用手机发一条消息,灯在别处亮了。 重点不是"控制灯",是**"控制"这个概念本身**:你的人不在现场,指令穿过网络,让远处的设备动作。智能家居说白了就是这个东西。
37 无线报警器 —— 两块板子不用任何网络直接对话。 需要两块板子。它的价值在于让你亲眼看见:没有路由器,也能通信。
难度是递进的,别跳
| 档 | 课题 | 特点 |
|---|---|---|
| A | 26、27、28 | 两个模块,一个输入一个输出,照着做就能成 |
| B | 29~34 | 三个模块,要做判断、调参数、处理供电 |
| C | 35、36、37 | 系统集成,没人给你完整答案 |
A 档的三个课题,每个演示一种传感器的"性格":光敏是连续变化的量,红外是"有/没有",超声波是"多少厘米"。这三个做完,三种输入方式就都摸过一遍了。
C 档的三个课题,各代表一个方向:35 是远程控制,36 是无线通信,37 是系统集成(结课作品)。
三条硬规矩
每个课题都必须遵守:
- 走完整闭环:传感器(看)→ 判断(想)→ 执行器(做)。缺一环就不算作品,只能算演示。
- 外壳只用身边材料:纸皮、冰棒棍、热熔胶。不许 3D 打印、不许激光切割——那些门槛会把"我做的"变成"别人帮我做的"。
- 至少埋一个坑:每个课题我都故意留一个故障,而且只有用万用表才能定位。这是第 5 课为什么要给 3 课时的原因。
做第 37 课之前提醒你一件事:套件里是 DHT11,它测温范围
0~50°C、精度±2°C,测湿20~90%、精度±5%。这是颗够用但不精确的传感器——拿它做"屋里热不热、潮不潮"完全没问题,但别拿它当温度计去跟人家标准温度计比对,差个一两度是正常的,不是你的代码错了。
关于"做不出来"这件事
十二个课题里,你大概率会有三四个做不顺。这很正常,而且是我故意的。
硬件课的价值不在"照着图接完就亮",在于不亮的时候你怎么办。所以我每个课题都给完整接线、完整代码,但一定会留一个坑——有时候是根坏线,有时候是个接反的脚,有时候是个没共地的模块,联网课题里还可能是路由器抽风。
你能把它找出来,这个课题才算真做完。
难度标记怎么看
| 标记 | 意思 | 你大概会遇到 |
|---|---|---|
| A | 照着做就能成 | 接线对、代码抄对,就一定能出结果 |
| B | 要动点脑子 | 可能要调参数、看现象反推原因 |
| C | 要自己拼装 | 没人给你完整答案,得把前面的知识组合起来 |
别跳着做 C 类。 C 是拿 A 和 B 堆出来的,前面的 A、B 没走扎实,到 C 你只会一脸茫然。
关于课时,我说句实话
标 1 课时的课,新手实际可能要花两小时。这不是你笨,是硬件课的常态——插错一根线,找它就得二十分钟。
标 3 课时的实战课题,你要是第一次做,留出一整个下午。做东西和做实验不一样,剪纸皮、调角度、粘热熔胶,都比你想象的花时间。
联网的课还要再宽一点。 网络这东西不受你控制:路由器可能限制新设备、公共服务器可能挂了、你家 WiFi 可能刚好在那一刻抽风。遇到这些不是你的错,但也得你来解决——这就是真实世界的样子。
所以别拿课时当倒计时用。卡住是正常的,卡住之后解决掉,那才是你真正学会的部分。
我教过太多学生,其中学得最好的那些,往往不是最快的,是在出错的时候愿意停下来弄清楚为什么的。
本节你要动手做的事
- [ ] 把这张地图看一眼,大概记住五个单元的顺序
- [ ] 想清楚一件事:你走图形化,还是走代码?
- [ ] 翻到第五单元扫一眼那十二个课题,挑一个你最想做的——把它当目标,你就有了把前面 25 节课走完的理由
- [ ] 把桌子收干净。真的,这个很重要——硬件课最怕的就是在一堆杂物里找一根线
准备好了,就翻到第 1 节,我们开工。