开始之前:小明又来了
你好,我是吴老师。
今天又有人来找你帮忙。 还是小明 —— 上次那个"老忘带书"的同学。
这次他的麻烦是:
请你扮演一个四年级的小学生,名字叫小明。
你有一个麻烦:背单词老是背了就忘,第二天全忘光。
你试过在本子上抄,抄了十几遍,第二天还是记不住,特别打击人。
(别的你也不知道 —— 你就是个普通小学生,没想过怎么解决。)
规则:
1. 你说话要像一个真的四年级学生:句子短,想到什么说什么
2. 一次只说一点,别一口气把情况全说完了 —— 等对方问你
3. 对方问你什么,你就老实回答什么
4. 你不知道"该做什么工具",你只知道自己有这个麻烦
现在开始:先打个招呼,然后说说你的麻烦。
说完就停下来,等对方提问。
把这段发给电脑上的 AI。从现在起,它就是小明。
⭐ 但还是那句话:先别动手。
他说的"抄了十几遍还是记不住",听着像"抄得不够多"。 真是这样吗?去问。
一、像侦探一样问他
这次最值钱的几问:
| 该问 | 想挖出什么 |
|---|---|
| "你一般是什么时候背的?" | 是没时间背,还是背了没用? |
| ⭐ "你怎么背的?能演示一遍吗?" | 他的方法里,可能就藏着他的问题 |
| ⭐ "抄完之后你还做什么?" | —— 这一问最关键 |
| "第二天忘的时候,你怎么办?" | 他会怎么补救?还是就算了? |
| ❌ 别问 | 为什么 |
|---|---|
| "你是不是要个单词表?" | 他已经有单词表了(课本后面就是),可他还是没记住 |
| "你要什么功能?" | 他要是知道,就不用找你了 |
⭐ "能演示一遍吗"这一句特别有用。 因为人说不清自己怎么做,但做得出来。
二、你到底问出了什么
追问下去,你会撞见这件事:
小明说"我抄了十几遍" —— 听起来很努力。 但你一追问就会发现:他抄完就合上本子了,从来没回头考过自己。
"抄"是"看",不是"想"。抄十遍不如自己考一遍。
| 要回答 | 从小明的话里 |
|---|---|
| 他真正的麻烦 | 不是"没有单词表",是背完就再也不回头看 |
| 什么时候用 | 写完作业那十几分钟 |
| 怎么算做成了 | 第二天还能想起来,而不是"我背过了" |
⭐ 看出来了吗 —— 他要的不是"给他看",是"考他"。
💡 这一条会直接落到技术点上:他需要板子记住"哪些词他不会", 然后反复考那几个。记住它,第六节要用。
三、先看看板子当"单词老师"什么样
先别听我讲,让板子演示一遍。
请使用课程的 esp32s3-touchboard-hardware-dev Skill,
烧录本课配套程序 assets/codes/demo01_word_trainer:
板子屏幕上显示一个英文单词,下面 4 个中文意思选项,
你点一个,板子立刻告诉你"答对了 / 答错了",然后记录你"会不会"。
烧录前把中文字库复制好(见 README)。烧录后告诉我:
点对了会显示什么、点错会显示什么?
几秒后,屏幕上出现一个英文单词(比如 apple),下面 4 个中文选项(苹果 / 香蕉 / 椅子 / 桌子)。你点"苹果",板子显示"答对 ✅";点错的,就显示"答错 ❌ 正确是 苹果"。
四、拆开看:背单词的"循环"在哪
这个工具是不是"随便显示一个词,猜对猜错"这么简单?不是。它背后是一个循环:
每次练习:
1. 从词表里「挑一个词」——优先挑「你不会的」
2. 显示这个词 + 4 个选项(1 对 3 错)
3. 你点一个
4. 判断对错:对了 → 这个单词标记「会了」;错了 → 标记「不会」
5. 下一个
记住这个循环:出题 → 答题 → 判断 → 记进度 → 再出题。第 4 步是灵魂——它把"会不会"记下来,下一次就会优先考你不会的。
关键点:板子不是"随机撞运气"考你,而是记住哪些词你答错,然后考你更多的错词。这就是"背单词"最科学的地方——多练不会的。如果你总是答对的词被反复考,那是浪费;总是答错的词不见面,那也背不下来。
五、两个核心:词表(数据)和掌握度(状态)
1. 词表——一串"单词↔意思"的格子
板子内存里有一张表,每一格是一条"单词 + 意思",像这样(中文伪代码,不用背):
词表 = [
["apple", "苹果"],
["banana", "香蕉"],
["chair", "椅子"],
["doctor", "医生"],
...
]
这是一组"键值对":一个英文,对应一个中文。跟第 34 课课表的二维数组是同一类东西。
2. 掌握度——每个词的"状态"
光有词表不够,还要记"这个词你到底会不会"。所以每个词旁边,另存一个数表示它的掌握状态:
| 状态 | 含义 | 什么时候变 |
|---|---|---|
| 0 | 没做过 | 一开始 |
| 1 | 答错了 | 答错一次 |
| 2 | 做对了 | 答对一次 |
| 3 | 很熟 | 连续答对 |
这就是"状态"——它记住的是"你学得怎么样",而不是"词是什么意思"。板子出题时,会优先挑状态值低的词(0、1 这些"还没熟"的),状态到了"很熟"就少考。
⚠️ 给比喻划边界:说"掌握度"像"记分牌",但它不是"分数高低",而是"接下来多练哪些"的指导。分数是给外人看的,掌握度是给"出题规则"看的。
六、⭐ 把小明的话,变成 AI 听得懂的
现在到本课的另一半重点——还是提示词。上一课我们用提示词让 AI"当老师",这一课我们让 AI帮你扩充字库:给你一个单词,让它生成"容易懂的例句 + 好记的意思"。
为什么用 AI?因为手打几十个单词的例句太累了。你告诉 AI 你的词表,它帮你批量生成。
但——和上一课一样——你描述得清楚,AI 给的例句才适合你。看这个对比:
| 我这样告诉 AI | AI 生成的例句 | 问题出在哪儿 |
|---|---|---|
| "给我 apple 的例句" | "The apple is red."(句子有点简单) | 没说明你要适合什么水平 |
| "给这几个单词配例句,小学生能懂" | "I eat an apple every day." | 好多了,但没说"要有中文翻译" |
| "给这几个单词配例句,小学生能懂,每句带中文意思,长度不超过 8 个英文单词" | "I like green apples. 我喜欢青苹果。" | 就对了 |
看出规律了吗? 让 AI 生成例句,你要写清楚:给谁看(水平)、要什么形式(带翻译)、多长(长度)、要几个(数量)。这就是提示词的四要素(角色/任务/约束/负面指令)在"生成内容"上的应用。
本课第二句要说清:给 AI 的"加工指令"越具体,它批量产出的东西越贴合你的需求。上一课是"怎么说话",这一课是"怎么让 AI 帮你造内容"。
七、动手:用提示词生成词表例句
请选 5 个你最近要背的单词,用这样的提示词让 AI 给出例句:
我有一组单词:apple, banana, doctor, library, mountain。
请为每个单词生成:
1. 一句适合小学生的英文例句(不超过 8 词);
2. 这句的中文翻译;
3. 用一句话说说这个单词怎么记(一个联想)。
请按「单词 | 例句 | 翻译 | 记法」一行一个列出来。
把 AI 生成的结果填进表,然后你自己判断哪条最适合,想不想再改提示词:
| 单词 | AI 给的例句 | 我满意吗 | 我还想改提示词的哪一句 |
|---|---|---|---|
| apple | |||
| banana | |||
| doctor |
改一次提示词,AI 就变一次给你看——这就是你掌握提示词的能力在起作用。
八、⭐ 交付给小明
这一步不能省。
装好之后,回到对话里(它现在还是小明),告诉他你做了什么:
我做好了一个工具。它长这样:
____(把屏幕上的样子说给他听)
它有个特点:你答错的词,它会**记住**,过一会儿**再考你一次**。
你觉得能帮上你吗?
认真听他怎么说:
小明:嗯……可是我怎么知道自己进步了没有? 小明:我要是连着点对了,它也不知道我是真记住了还是瞎点的。
⭐ 第一句指向的正是这个工具的"状态"那一块 —— 掌握度本来就是记着"你学得怎么样"的,只是还没让他看见。 让他能看见(比如"还有 3 个没掌握"),他才有继续的动力。
第二句更难:"自己说自己记住了"到底靠不靠得住? 这个问题留给你 —— 想想看,能不能让它过几天再考一次?
改完再给他看。 来回几轮,东西才真的能用。
📌 还有一件事得跟他说清楚:这个工具现在把进度存在内存里 —— 一断电就没了。 想让它"记得住",得学会把数据存进 TF 卡(第 14 课)。 这正是第十节那个"错题本"要练的。
九、分析:这个项目用了哪些技术
同样不让 AI 深挖代码,你要能说清楚"零件表":
| 技术 / 概念 | 在这里干什么 | 你之前在哪学过 |
|---|---|---|
| 数组 / 键值对 | 存"单词↔意思"这张词表 | 第 29/34 课(数组) |
| 状态(掌握度) | 记每个词"你会不会",用 0/1/2/3 表示 | 第 44 课(宠物状态) |
| 随机挑选 | 从词表里挑一个词来考 | 第 3 章(随机) |
| if 判断 | 判断你点的选项对不对、更新掌握度 | 第 2 课(if 判断) |
| 触摸区域判断 | 4 个选项就是 4 个"按钮" | 第 8 课(按钮=区域判断) |
| 重绘 | 点完一个词,重画下一个界面 | 第 6/7 课(帧) |
| 提示词 | 可选:让 AI 生成例句、释义 | 第 35 课 |
⚠️ 一个真实边界:这个"背单词"工具的词表和掌握度,如果只存在内存里,那断电就没了——你背到一半,板子拔电,进度全丢。想"断电不忘",就要学会把数据存进 TF 卡(第 14 课),这就是本课的 demo02 要做的:把"错题本/进度"存进 TF 卡,下次开机接着背。
⚠️ 另一个边界:本课的核心是"本地数据 + 规则",AI 只是可选的增强(生成例句)。出题、判断、记进度这些不需要 AI,板子自己就能做。AI 不来掺和"会不会"的判断——那是本地规则的事。
一句话总结:背单词 = 用数组存词表、用状态记掌握度、用规则出题判对错、用重绘显示结果;AI 只帮你生成例句,不负责"判断你会不会"。它本质是"数据结构 + 简单规则",不是 AI 项目。
十、动手:做一个"错题本"(练断点续学)
为了让你真正理解"断电不忘",我们把"错题本"存进 TF 卡。
请使用课程的 esp32s3-touchboard-hardware-dev Skill,
烧录本课配套程序 assets/codes/demo02_word_sd:
在背单词基础上,把「哪些词答错了」存进 TF 卡里的一个文件,
断电再开机,板子能读回这些错词,优先考它们。
烧录前把中文字库复制好,确认 TF 卡插好。烧录后告诉我:
错题本存在哪个文件名里?断电重开后,错题还在吗?
观察点:
- 答错的词,会写进 TF 卡(比如
wrong_words.txt); - 断电再开机,板子读回这个文件,把上次答错的词列出来优先考;
- 拔了 TF 卡,这些错词就"没地方存"了,进度丢失。
这里对比一下:内存存的东西,一断电就消失(像前演示);TF 卡存的东西,断电还在(像你的笔记本)。想记住,就要写到"能长期存"的地方去。
十一、改一个条件,看它怎么变
| 我想改 | 该动哪部分 | 我预测会发生什么 |
|---|---|---|
| 每次只考"掌握度 0/1"的词 | 出题规则那里 | 熟词不再出现,只考生词 |
| 连续答对 2 次就算"很熟" | 掌握度的判定 | 变熟更快 |
| 选项从 4 个改成 3 个 | 出题规则 | 更难猜?还是…… |
| 把词表换成"我的课本单词" | 数据 | 全换成我背的 |
先预测,再验证。 你会发现:改的都是规则(考哪些、怎么判熟),而不是画面。
十二、如果它没按你想的来
| 现象 | 先查什么 |
|---|---|
| 点了选项没反应 | 触摸区域判断对吗?4 个选项区域写对了吗? |
| 老是重复考同样的词 | 出题规则是"随机"还是"优先生词"? |
| 断电重开进度没了 | 没存 TF 卡——存内存的东西断电就丢 |
| TF 卡读不到 | SD_MMC 引脚 setPins(38,40,39,41,48,47) 写对了吗?卡插好了吗? |
| 中文乱码 | 中文字库复制了吗?用了 drawUtf8 吗? |
记住:内存 vs TF 卡,是"就这一次" vs "一直记得"的区别。要进度持久,就写进 TF 卡。
十三、下课前,把"背单词的工具"讲给我听
先别看 AI 的回答,自己说一遍:
- ⭐ 小明说"我抄了十几遍",他真正的麻烦是什么?你是怎么问出来的?
- 背单词的"循环"是哪 5 步?哪一步是灵魂?
- 词表是"数组/键值对",掌握度是"状态"。两者有什么区别?谁记得"词的意思",谁记得"你学得怎样"?
- 为什么板子要"优先考你不会的词"?这和"多练不会的"有什么关系?
- 让 AI 生成例句,你需要在提示词里写清楚哪 4 样东西?
- 这个词表和掌握度存在内存里和存在 TF 卡里,有什么区别?断电后分别会怎样?
- 这个工具里,哪部分是"数据+规则"、哪部分"才是 AI"?
今天请留下三样东西:你用提示词生成的一组例句、你做的一个改动(比如改成"只考生词")、以及一句"内存和 TF 卡的区别"。
十四、最后留给你:一切"记住并进步"的规律
背单词这个工具,其实揭示了一个更大的规律——几乎所有"学习类"的板子工具,都是"数据 + 状态 + 规则":
| 工具 | 数据 | 状态(记得你学得怎样) | 规则 |
|---|---|---|---|
| 背单词 | 词表 | 掌握度 | 优先考不会的 |
| 错题本 | 题目 | 对/错 | 反复练错的 |
| 背诗机 | 诗库 | 背到第几首 | 顺序或抽查 |
| 生词本 | 生词 | 会不会 | 间隔复习 |
摸清这个规律,你以后想让板子帮你"记住任何事情",都有套路可循。
下一课,我们把课堂从"学知识"挪到"管自己"——做一个番茄时钟。你会发现:计时、提醒、专注,其实也是"数据 + 规则 + 判断"。
教师备课备注(不作为课堂口播)
课程定位
- 第七章「学习助手」第 3 课。把第 34 课(数据结构)+ 第 35 课(提示词)合成一个真正有用的工具:背单词。核心是"数据(词表)+ 状态(掌握度)+ 规则(出题/判对错/优先考不会的)"这个可迁移的"学习类工具"模式。
- ⭐ 2026-09-24 改版:本课加了「产品经理」范式(连同 34 / 37 / 46 / 47)。
结构:小明来求助 → 采访 → 挖真需求 → 做 → 交付 → 听反馈。
- 本课的真需求反差:他嘴上说"我抄了十几遍"(听着像不够努力), 追问才发现 他抄完就合上,从不回头考自己 —— "抄"是看不是想。
- ⚠️ 这一条必须回接技术点:正因为他"从不回头考", 所以工具必须记掌握度、优先考不会的(第五节的"数据 vs 状态"就是答案)。 采访和技术的这条线断了就白改,课堂上务必点破。
- 交付时小明的两句反馈也是有意设计的:① "我怎么知道进步了没" → 指向掌握度要能看见; ② "我连点对了它也不知道我真记住没有" → 引出"隔几天再考"(间隔重复的思想)。
- 本课是"本地数据+规则"为主、AI 为辅的课——出题、判断、记进度不需要 AI,AI 只用于"生成例句/释义"这个可选增强。要强调这个边界,防止学生以为"背单词靠 AI 才聪明"。
- 与第 14 课(TF 卡断电不忘)、第 44 课(宠物状态)呼应。内存 vs TF 卡是本次一个重要区分:内存断电丢、TF 卡断电还在。demo02 专门练"错题本存 TF 卡、断点续学"。
本课新增的核心知识点
- 练习循环:出题→答题→判断→记进度→再出题。第 4 步(记进度)是灵魂。
- 数据 vs 状态:词表(数据,词↔意思)vs 掌握度(状态,你学得怎样)。状态是给"出题规则"看的,不是分数。
- 间隔重复思想:优先考"不会的",这才是背单词科学的地方。简化为"掌握度低→多考"。
- 提示词用于"生成内容":让 AI 批量造例句,要写清"给谁看/什么形式/多长/几个"——四要素在"生成"场景的应用。与第 35 课"对话"场景对偶。
- 内存 vs TF 卡:内存断电丢,TF 卡断电还在。想持久就要写进 SD。这是"断点续学"的技术关键。
必须避免的错误
- 不要说"板子聪明,会自动背单词"。它只是按规则优先考你不会的——这是程序逻辑,不是智能。
- 不要让学生误以为"背单词靠 AI"。出题、判断、记进度都是本地规则;AI 只帮生成例句(可选)。
- 不要把 TF 卡读写讲得太深。学生要理解"存内存断电丢、存卡断电还在"这个概念,而不是背
SD_MMC语法。 - "掌握度"不要当成分数解释,要强调它是"接下来多练哪些"的指导。
执行约束
- FQBN:
esp32:esp32:esp32s3:FlashSize=16M,PartitionScheme=app3M_fat9M_16MB,CDCOnBoot=cdc,PSRAM=opi - 依赖:
TFT_eSPI、FT6336、SD_MMC、FS、ArduinoJson(demo02 需要);font/ChineseFont16.h。 - SD_MMC 6 线:
setPins(38, 40, 39, 41, 48, 47),须先 setPins 再 begin,不能套用普通 SPI SD。 - demo01(内存版)不需要 TF 卡;demo02(SD 版)需要插好卡。
- 中文显示:
drawUtf8()+font/ChineseFont16.h,README 有复制命令。 - 密钥:本课主体不需要云 API。demo01/02 主功能是本地数据+规则,不需要密钥;AI 生成例句是课堂里用"你电脑上的 AI 助手"做,不在板子固件里(板子只做本地出题)。若教师想加"板子上 AI 生成例句",需接第 35 课的火花引擎 API,作为拓展。
课堂执行要点
- 顺序建议:demo01(现象:选词/判断/记进度)→ 循环拆解 → 词表+掌握度表格 → 提示词生成例句实验 → demo02(错题本存 TF 卡、断点续学)→ 内存 vs TF 卡对比 → 改一个条件 → 下课前复述。
- 灵魂追问 ①:"为什么板子只考你不会的词?"——引出"间隔重复/多练不会的"。
- 灵魂追问 ②:"断电之后,进度还在吗?"——引出内存 vs TF 卡。demo02 现场拔电重开验证。
- 观察表必须先预测后实测(八、改条件表)。
- 提示词生成例句实验用"你电脑上的 AI 助手"(可联网),不需要板子联网;让 AI 批量产出后,学生自己挑选、可再改提示词。
待办与遗留
demo01_word_trainer、demo02_word_sd源码已写(含中文字库),尚未实板验证。吴老师实板验收重点:① 中文渲染;② 4 选项触摸区域;③ 掌握度状态机(连续答对变熟)是否正确;④ demo02 TF 卡写读、断电续学是否可用。- 掌握度分级(0/1/2/3)与"连续答对变熟"的实现细节待实板调优。
- AI 生成例句的课堂方案(用电脑 AI 助手 vs 板子联网)由教师定;若走板子联网,需接火山 API,密钥安全同 35 课。