概要:在一个主循环里同时处理按键、电机与超声灯光。
核心能力:多模块主循环 · 可见结果:左右键控轮 + 超声灯
本章代码目录:
code/chapter-07/
上传示例:mpremote connect $PORT cp code/chapter-07/*.py :(在章节目录外按实际路径调整)
学习目标
- 把第 2–5 章能力接入同一事件循环。
- 左右键分别控制左右轮三态循环。
- 灯光可由超声波统一指示远近。
- (选做)自动避障状态机。
内容要点
- SW21→左轮、SW20→右轮。
- 停止 → 前进 → 反转 循环。
- 测距与按键轮询交错,避免长 sleep。
代码说明
| 文件 | 简要说明 |
|---|---|
motor_driver.py | 整车电机驱动(同第 5 章),供本章实验 import。 |
test_sw_motor.py | 主循环:SW21 / SW20 边沿切换对应轮「停止→前进→反转」三态;侧灯跟随该轮是否在动。 |
test_sw_motor_ultrasonic_led.py | 在按键控轮之上叠加超声测距(脚本内联 Trig/Echo):灯光改为远绿近红语义(推荐课堂演示)。 |
实验
- 上传
motor_driver.py后运行test_sw_motor.py。 - 运行
test_sw_motor_ultrasonic_led.py(推荐演示)。
GPIO 编号、LED / 按键方位以专题页 第四节「GPIO 与接线」 为准,本页不重复抄写引脚数字。