🧰 第一阶段 · 点亮与接线(今晚~明天)
STEP 1 · 工具与场地准备(30 分钟,不碰板子)
💻 电脑装好软件,认清那根线
🎯 目标:Thonny 装好、Chrome 就绪、确认 USB 线能传数据——后面所有卡点 80% 出在这一步。
- 装 Thonny(Python 编辑器 + 串口监视二合一):官网 thonny.org 下载 Windows 版,一路"下一步"。⚠️ 别装成微软商店旧版。
- 浏览器用 Chrome 或 Edge(MakeCode / python.microbit.org / Thonny 的 WebUSB 都只认这两个内核)。
- 认数据线:micro:bit 必须用"能传数据"的 USB 线(多为扁平 Micro-USB / 部分新款是 Type-C)。只有两条芯的"充电线"插上去毫无反应——这是新手第一大坑。分不清就拿它给手机传一次照片,能传才用。
- 给装置定一个"工位":桌面铺一块硬卡纸当背景(后面拍模型照片直接用),板子、灯条、传感器各归各位,别用金属别针硬币垫板子。
STEP 2 · 开箱验货 + 板子体检(20 分钟)
📦 清点零件,让板子先"活"一次
🎯 目标:确认 micro:bit v2 是好的——先不带任何传感器,跑通一个官方演示。
- 对照清单打勾:micro:bit V2 主板(背面印着 nRF52833、正面有麦克风小孔和圆形喇叭孔才是 V2)□ WS2812 灯条 □ 声音传感器模块(若买了)□ 光照模块/BH1750(若买了)□ 杜邦线母对母一排 □ USB 线 □ 充电宝。
- USB 线插板子 → 电脑。电脑应弹出一个叫 MICROBIT 的 U 盘。没有?换线、换 USB 口,按板子背面 RESET 小圆点。
- 出厂演示此时应在 25 颗 LED 上滚动图案——说明板子是好的。没有图案?打开 MakeCode 首页「无线电/快速上手」刷一个 factory.hex。
- 烧一个测试程序:打开 makecode.microbit.org → 新建 → 拖「显示图标·爱心」进「永远」→ 下载 → 拖进 MICROBIT 盘 → 等 10 秒,板子心跳起来 ✅ 板子、线、烧录链路全部打通。
STEP 3 · 接灯条(作品的"脸面",20 分钟)
🌈 WS2812 灯条 → P2
🎯 目标:接 3 根线 + 刷一个测试程序,亲眼看到灯条"红→绿→蓝→流水灯"。只接线不刷代码,灯条不会自己亮。为什么灯条接 P2 而不是 P0?参赛的正式程序 main.py 定死了:声音传感器要用 P0"听"、光照用 P1、灯条走 P2。测试接 P2,和正式程序同一根脚——接一次线,后面永远不用挪。
第 1 步 · 认清三个"金手指"(翻到板子背面看丝印)
| 引脚标记 | 是什么 | 类比 |
|---|---|---|
| P2 | 2 号数据脚(本项目的灯条脚) | 对讲机话筒——板子从这里"喊话"给灯条 |
| 3V | 3.3V 电源正极 | 电池"+"(测试供电用,正式演示换充电宝 5V 更亮) |
| G | 地线(负极) | 电池"−",和充电宝供灯时必须与充电宝共地 |
🧭 箭头是命门:灯条接头/板上印着"DATA IN ▶"箭头,那是数据流动方向。箭头朝板子这头 = 接对;朝外 = 第一颗永远不亮。拿不准就把三针插头拔下转 180° 重插试一次——"完全不亮"一半是它解决的。
第 2 步 · 断电接 3 根线(拔 USB 再碰杜邦线,接完家长目视再上电)
| 灯条线 | 颜色/标记 | 接到 micro:bit | 注意 |
|---|---|---|---|
| 数据 | DIN(通常是中间黄/白线) | P2 金手指 | 方向别接反:箭头"DATA IN"朝向板子 |
| 电源正 | VCC(红线) | 3V 引脚(测试) | 测试走 3V 脚;正式演示改充电宝 5V 供灯更亮(见底部大坑) |
| 电源负 | GND(黑线) | G 引脚 | 所有模块必须共地——GND 不连通是灯条不亮头号原因 |
💡 为什么一根数据线就够:WS2812 像"一串传球的小朋友"——数据从第一颗灯进去,每颗只留下属于自己的 24 位(红8位+绿8位+蓝8位),剩下的传给下一颗,一颗传一颗点亮整条。所以方向接反时第一个"小朋友"接不到球,全条灭。
第 3 步 · Thonny 写测试程序刷进去
- USB 连板 → 开 Thonny → 右下角解释器选 MicroPython (micro:bit)(没配置过?看 STEP 4 烧录法 A 的第 1~3 步)。
- 新建文件 → 粘贴下方代码 → 先数一数自己灯条几颗灯,改
NUM = 8这个数字(8 颗写 8,16 颗写 16)。 - 保存 → 位置选 micro:bit 设备上的文件系统 → 文件名
main.py→ 点 ▶ 运行。
# 灯条点亮测试 · STEP 3 专用(脚位与正式 main.py 一致:pin2)
from microbit import *
from neopixel import NeoPixel
NUM = 8 # ← 改成你灯条的实际颗数
np = NeoPixel(pin2, NUM) # 正式程序 LED_PIN = pin2,测试也用它
B = 40 # 亮度上限 40/255,防掉电重启(大坑!正式版内置的是 BRIGHT=80)
def fill(r, g, b):
for i in range(NUM):
np[i] = (r * B // 255, g * B // 255, b * B // 255)
np.write()
while True:
fill(255, 0, 0); sleep(600) # 全红
fill(0, 255, 0); sleep(600) # 全绿
fill(0, 0, 255); sleep(600) # 全蓝
for i in range(NUM): # 流水灯
fill(0, 0, 0)
np[i] = (0, B, B)
np.write()
sleep(120)
第 4 步 · 不亮?按概率从高到低逐条查
| 现象 | 最可能原因 | 一招解决 |
|---|---|---|
| 完全不亮 | ① GND 黑线虚接 ② 三针插头方向错位 | 黑线重插紧、轻晃验证;插头转 180° 重插试一次 |
| 第一颗亮、后面全灭 | 数据链断:整条灯条 DO/DIN 接反,或某颗灯珠坏 | 确认箭头朝 P2;断点从坏灯往后全灭 |
| 后半截颜色不对/乱闪 | 供电不足(3V 脚想喂太多灯) | 确认代码里 B = 40;16 颗时改充电宝 5V+共地 |
| 乱闪+板子反复重启+电脑断串口 | 灯太亮把板子拉垮(头号大坑) | 亮度降到 40 以下;正式演示 5V 单独喂灯条、黑线接板 G |
| 用充电宝 5V 供灯才出现乱码闪 | 3.3V 信号喂 5V 供电的灯条是"电平擦边球" | 测试阶段回用板子 3V 脚供电;布展仍乱闪就把亮度再调低一档 |
BRIGHT = 80 亮度封顶(10/14 修订,全白也压在约 150mA,接 3V 不会重启,代价是白光稍暗);布展要更亮:充电宝 5V 只喂灯条、黑线接板子 G 共地。测试代码里的 B=40 比它还保守,放心跑。STEP 4 · 接传感器 + 烧录 main.py(40 分钟)
🎤 声音/光照接入,把主程序装进板子
🎯 目标:完整装置一次跑通,串口每秒吐一行数据,屏幕显示 Q / T / L。
| 模块 | VCC(红线) | GND(黑线) | 信号线 |
|---|---|---|---|
| 声音传感器(KY-037/MAX4466,模拟输出) | 3V | G | AO → P0(⚠️ 别插 DO 数字口,做不了响度分级) |
| 🌈 WS2812 灯条(STEP 3 已接好) | 测试 3V / 布展充电宝 5V | G(5V 供灯时黑线仍回板 G 共地) | DI → P2 |
| 🔆 光照 BH1750(本套件买的型号) | 不接 P1!它是 I2C 设备——插扩展板 IIC 座(SDA→P20、SCL→P19),main.py 开机自动识别,串口会打印"# light mode: bh1750",日志的光照列是勒克斯 lux | ||
| 光照模块(若是老式模拟 AO 型) | 3V | G | AO → P1(程序也自动识别,读数为 0~1023) |
| micro:bit V2 内置麦克风 | — | — | 无需接线,见下方"分支卡" |
📌 本页 STEP 3/4 接线表与 main.py / README 逐字对齐:声音 P0、光照 P1 或 IIC 座、灯条 P2。接完让孩子沿三根信号线从模块摸到板子丝印,摸通一遍才算"自己的装置"(答辩必考)。
USE_BUILT_IN_MIC = False 改成 True 重新上传即可(这就是当初买 v2 板的原因)。两个必须知道的差别:① 内置麦读数是 0~255(程序已 ×4 对齐量级),阈值必须重新做 STEP 5 标定;② 内置麦没有电位器,只能靠改 TH_TALK/TH_LOUD 调灵敏度。烧录法 A(推荐):Thonny
- 板子插电脑(MICROBIT 盘出现)。
- Thonny 菜单「工具 → 设置」→「解释器」→ 选 MicroPython (micro:bit),端口选 WebUSB(没驱动也能连)。确定。
- 若提示板子上不是 MicroPython 固件 → 同意 Thonny 刷入(默认 MicroPython v2 固件,自带 USB 串口功能——比赛允许,属官方标准固件非封装)。
- 打开 源码包/main.py(文件→打开,选到那个 5.9KB zip 解压后的文件)→ 点绿色 ▶ 运行旁的下拉 →「上传到当前设备为 main.py」。
- 拔插一次 USB(或按 RESET)。板子屏幕滚动
Q(安静),灯条亮暗橙色 → ✅ 主程序跑起来了。 - 看 Thonny 下方 Shell:每秒打印一行
时间,响度,光照,档位。这就是后面所有实验数据的水源。
烧录法 B(备用):python.microbit.org
- 打开网站 → 粘贴 main.py 全部代码 → 下载 .hex → 拖进 MICROBIT 盘。适合 Thonny 连不上时救急。
🎯 第二阶段 · 标定与实验(明天~周六,数据是报告的生命)
先认识这 4 个词 · 答辩的底气全在这(30 分钟,读+复述)
🎯 目标:STEP 7 会要求思涵"用自己的话讲每段代码",评委必问这 4 个概念。先把它们变成她自己的话,后面照着做实验时越做越明白。方法:家长读一遍类比 → 孩子合上页面复述 → 答对了才继续。
答辩例句:我的第一档阈值是用安静和交谈各测 5 次,取中间值定的。
答辩例句:我不是"有声就亮"的声控灯,我是"听得懂声音要不要紧"的灯。
答辩例句:取最大值是因为声音是一跳一跳的,平均值会把拍手算丢了。
答辩例句:安静下来灯就该马上省电,所以往回退不用等;往上升级要等 2 秒,因为升级错了才真的费电又晃眼。
🔗 每个词在 main.py 里的位置:TH_TALK/TH_LOUD/SUSTAIN_MS 在"② 可调参数"段;滑动窗口在主循环"第 1 步";三档判断在"第 2、3 步";串口打印在"第 5 步"。选 MakeCode 积木路线的孩子:拼法逐步对照在资料包 04-模型原型/MakeCode积木版对照.md,逻辑与 main.py 完全等价(提交截图+.sb 即可)。
STEP 5 · 阈值标定(关键实验!40 分钟)
📏 测出"安静/说话/喧闹"各是多少 → 写回代码
🎯 目标:TH_TALK、TH_LOUD 不再是"拍脑袋的默认值",而是孩子自己量出来的数——研究报告里"调参依据"一栏就填这张表。
- 手机装一个分贝计 APP(应用商店搜"分贝",任选免费款),和串口读数对照记录——双列对照表是报告的加分项。
- Thonny Shell 打开(或跑
python 数据记录工具.py存 CSV)。装置固定 0.5m 距离对着声源。 - 三种环境各测 30 秒,把响度数字抄进表:
场景 串口响度(记3次) 手机分贝 当时档位 ① 安静(深夜模拟:关电视、小声呼吸) ___ __dB 应为 Q·暗橙 ② 正常交谈(0.5m 处聊天) ___ __dB 应为 T·暖黄 ③ 突然喧闹(拍手/喊一声) ___ __dB 应为 L·亮白 - 定参数:TH_TALK ≈ 安静均值和交谈均值的中点;TH_LOUD ≈ 喧闹值往下留 10% 余量。SUSTAIN_MS 先保持 2000。
- 改 main.py 里这两个数 → 重新上传 → 三种场景再过一遍,档位切换全对 → ✅ 标定完成。把最终两个数字抄进报告,并注明"由实测标定产生"。
STEP 6 · 三场景 × 五次正式实验(两天,每天 30 分钟)
📊 采集正式数据,替换报告里的占位数字
🎯 目标:15 组有效数据 + 延时观察,支撑"结论"一节。
- 跑
数据记录工具.py(电脑端):选 COM 口 → 开始记录 → 自动生成 CSV。一次实验录 1–2 分钟。 - 固定条件:距离 0.5m 一次、1.0m 一次(卷尺量);每场景重复 5 次取平均,灯光档位响应是否稳定全记。
- 重点观察两件事并写进日志:① 从发声到亮白灯延迟大约几秒(SUSTAIN_MS=2000 决定了至少 2 秒——这就是"持续判断"的代价与意义)② 短促脚步声/关门声会不会误触发(正确结果:不会,因为不足 2 秒)。
- 实验间隙把 CSV 数据画成简单折线图(Excel 即可):时间轴 + 响度 + 档位三列,截 2–3 张图留给报告和展板。
STEP 7 · "至暗时刻"复现 + 她的口吻写注释(1 小时)
🌗 故意让作品失败一次,再把理解写进代码
🎯 目标:日志里那次"被脚步声骗到"的失败有了实锤复现 + 修复对比数据;答辩语言从她嘴里说出来。
- 把
SUSTAIN_MS = 2000改成0→ 上传 → 在装置旁正常走路。灯被杂音乱触发 → 录 20 秒 CSV,记下误触发次数。 - 改回 2000 → 同一动作重测 → 误触发次数归零。两组数字写进日志"至暗时刻"一节:问题→原因(毛刺信号)→改进(持续窗)→验证(前后对比)。被评委问创新点,就指着这段讲。
- 复述环节:让思涵用自己的话逐段讲"这段为什么这么写"(20ms 采样 / 0.5 秒窗口取最大值 / 三档状态机 / 每秒串口打印),家长边听边把她原话补成代码注释(禁止成人化措辞,孩子口吻是加分项,如"取最大值是因为声音是一跳一跳的,平均值会把拍手算丢了")。
- 注释改完,代码重新过一遍 STEP 5 三场景 → 一切正常 → 定稿。
📸 第三阶段 · 产出与上传(下周~10/26 前)
STEP 8 · 微缩场景布景 + 模型照片(2 小时)
🏙️ 搭"未来城市楼道",拍 5 张照片
- 硬纸盒开口立起来当楼道,卡纸剪台阶/扶手/门牌,装置固定在"楼道天花板"位置(高度示意即可;微缩场景控制在 800×800×800mm 内、整机 <1kg——按展板口径报,稳妥)。
- 拍 5 张(单张 ≤5MB,可压缩):① 场景全景 ② Q 档暗橙小夜灯特写(安静)③ T 档暖黄特写(交谈)④ L 档亮白特写(拍手)⑤ 接线/背面细节(证明是自己搭的)。三档特写就是展板主图。
- 拍的时候让屏幕 Q/T/L 入镜——照片替你回答"程序真的在跑"。
STEP 9 · 90 秒一镜到底演示视频
🎬 三档切换最有看点,别拍成说明书
🎯 目标:一条合格的一镜到底视频。权威分镜以资料包 05-展示视频/90秒分镜脚本.md 为准(7 段 0:00–1:30 时间轴+逐段台词),本页只列拍摄纪律。
- 节拍(照分镜走):0:00 自报家门 → 0:12 场景盒介绍 → 0:25 安静 Q 档 → 0:40 交谈满 2 秒切 T 档(刻意把这 2 秒延迟拍进去=展示持续判断)→ 0:58 喧闹 L 档 → 1:12 失败复现(必拍!):突然拍一下手马上停,灯不升级——这是"阈值+持续时间"创新点的影像证据,分镜和展板都指着这段讲,没有"失败镜头"会被扣分 → 1:24 报实测数据收尾。
- 硬要求:MP4/H.264,≤90 秒、≤30MB、一镜到底不剪辑(官网复赛口径,比赛项 PDF 写的"5 分钟"更严,以官网为准);不加速、不倒放、不加字幕特效;手机横屏+飞行模式,提前锁对焦曝光。
- 台词里的数据(第 1:24 段"3 种场景各测 5 次…")等 STEP 5–7 做完换成实测数字再拍;排练 2 遍再开机,拍 2 条选 1 条。
STEP 10 · 重新打包 + 上传(截止 10/26)
📤 重新打包 + 7 个标签上传
- 重新压缩源码包:改过阈值/注释的 main.py 放回 源码包/,连同 README.md、数据记录工具.py 打成 zip(10/14 已把 BRIGHT 封顶+BH1750 自动识别打进包里,重打包时在这版基础上改,别回退旧版)。解压后双击可读、无加密混淆=合规要求。
- MakeCode 并行路线(可选加分):编辑器整屏截图 2~3 张 + 菜单→下载→MakeCode 项目(.sb) 一并放 zip,附
MakeCode积木版对照.md——体现"图形化与代码等价"的理解。 - 三份文字材料(申报书/研究报告/科学日志)把占位数据全部换成 STEP 5–7 实测值 → 转 PDF → 打印签字 → 学校盖章 → 扫描回电子版。
- 上传 7 个标签:学籍证明*、项目申报书、研究报告、科学日志、模型原型*(zip)、项目展板、展示视频。展板按
06-项目展板/展板900x1200分栏文案.md排版,JPG ≤5MB。 - 统一命名规则:
地市-学校-组别-项目名称-姓名→ 成都-少城小学-小学高年级组-未来城市-王思涵,7 个文件全部用这一个文件名前缀。 - 10/20 前传完,留缓冲应对平台审核退回/补材料(硬截止 10/26,10/27 省组委会上报名单)。
🚑 急救表(卡住先查这里)
| 现象 | 最可能原因 | 解决 |
|---|---|---|
| 插电脑没 MICROBIT 盘 | 只能充电的线 🥇 | 换能传数据的线;换 USB 口;按背面 RESET |
| Thonny 连不上 WebUSB | 浏览器/驱动/Chrome 独占 | 关掉 MakeCode 网页标签(WebUSB 一次只能一个程序占用);Thonny 换串口 COM 模式 |
| 串口没有每秒数据行 | main.py 没上传/固件是 MakeCode 版 | 重做法 A 第 4 步;或按 RESET;MakeCode 固件不带 MicroPython 串口 |
| 灯条完全不亮 | GND 没共地 / DIN·DO 接反 | 检查 G 脚线;把灯条箭头"DATA IN"朝向 P2 |
| 灯条乱闪/板子反复重启 | 太亮导致掉电(正式版已内置 BRIGHT=80 封顶,一般不会) | 充电宝 5V 单独供灯条+黑线共地;测试代码确认 B=40 |
| 安静时档位乱跳 | 阈值太低/传感器过载 | 调声感电位器或加大 TH_TALK;确认没有空调/风扇直吹传感器 |
| 声音读数恒为 0 或恒定值 | AO 接错脚 / 用的数字口 DO | 必须接 AO 到 P0;DO 只能开关量,做不了响度分级 |
| 光照数值不动 | BH1750 当模拟模块插了 P1(读不到)/ 模块接反 / 被灯条自己照亮 | BH1750 是 I2C 设备,插扩展板 IIC 座(P20/P19)自动识别;模拟光敏才走 P1;测环境光时避开灯条直射 |
| 数据记录工具连不上 | COM 口被 Thonny 占着 | 一次只开一个串口程序;工具里刷新端口列表重选 |
| 想恢复出厂演示 | 刷太多次 | microbit.org「快速上手」下载 factory.hex 拖入 MICROBIT 盘 |
🧑🏫 家长须知(答辩导向的五条)
① 孩子讲得出的才算她的:每步让她先复述再动手,你只念步骤不当讲师;讲不明白一起看 README,别看短视频代劳。
② 过程数据 > 完美结果:STEP 7 那次故意失败是全场最值钱的日志——评委最烦"零失败"包装出来的项目。
③ 评分权重(F1 赛项说明 7.2 原文,共 100 分):科学探究完整性与深度 60(探究过程 15+数据统计分析 15+探究建模 10+反思拓展 10+提出问题 5+猜想假设 5)>科学论证与沟通 25(临场答辩只占其中 5)>模型构建与验证 15。💡 大头在实验过程和数据,不是"装置跑得多炫"——STEP 5–7 值得砸最多时间。⚠️ 科学建模是个人赛,没有团队分。
④ 红线:不带手机进场、作品照片上传前不外发(防抄袭)、提交材料里不出现成人代写的成人化注释。
⑤ 时间兜底:万一声感模块到货坏/读数不可用 → micro:bit v2 内置麦克风直接顶上(main.py 换一行数据源,见 STEP 4 分支卡),演示照跑——这就是当初买 V2 的原因。
⑥ 复赛答辩=线上会议室,总共 5 分钟:讲解展示 ≤3 分钟 + 评委问答 ≤2 分钟,半身出镜、前置摄像头不遮挡;可放 PPT 但不得挡镜头。必讲链条:真实问题→猜想→控制变量实验→数据→"阈值+持续时间"解释模型→装置验证→失败改进(至暗时刻)。决赛为线下现场展示(时间以公告/邮件为准),复赛按线上准备。