第 8 / 8 章

综合项目:模块化与开机自启

整理为可维护工程,配置 main.py 开机自启并验收。

教程首页 专题页

概要:整理为可维护工程,配置 main.py 开机自启并验收。
核心能力:模块化、开机自启 · 可见结果:可验收完整小车程序

本章代码目录: code/chapter-08/

上传示例:mpremote connect $PORT cp code/chapter-08/*.py :(在章节目录外按实际路径调整)

学习目标

  1. 用 config.py 集中管理引脚与参数。
  2. 按职责拆分 button / status_led / motor_driver / ultrasonic / main。
  3. 上电短延时可 Ctrl-C 打断。
  4. 完成功能验收。

内容要点

  1. 从 test_*.py 抽取公共逻辑。
  2. try / finally 保证停车。
  3. mpremote cp … :main.py 设自启。

代码说明

文件简要说明
config.py集中存放引脚号、车速、超声阈值、开机延时等常量,避免魔法数字散落各文件。
button.pyButton 类:上拉输入 + 按下边沿 + 消抖;导出 sw_left / sw_right
status_led.py封装左红 / 右绿状态灯,供主循环按距离语义点亮或闪烁。
motor_driver.py整车电机驱动(引脚可读 config 或与前章一致)。
ultrasonic.py测距模块(Trig/Echo),同第 6 章职责。
main.py综合主程序:上电延时可 Ctrl-C;主循环按键三态控轮 + 超声远绿近红;保存为设备上的 main.py 即可开机自启。

实验

  1. code/chapter-08/ 上传全部模块。
  2. main.py 设为开机自启并完成验收清单。

验收清单

  1. 上电后数秒内可打断;进入主循环后行为符合约定。
  2. 左右键可独立改变对应轮状态。
  3. 红 / 绿灯正确反映距离语义。
  4. 超声波读数稳定;串口有关键日志。
  5. 停止 / 异常 / 退出时电机必停。

GPIO 编号、LED / 按键方位以专题页 第四节「GPIO 与接线」 为准,本页不重复抄写引脚数字。

← 第 7 章 返回教程首页