概要:学会读板载 SW20 / SW21(低有效),用按键改变灯光或程序状态。
核心能力:低有效按键、循环 · 可见结果:按键翻转灯光 / 打印状态
本章代码目录:
code/chapter-03/
上传示例:mpremote connect $PORT cp code/chapter-03/*.py :(在章节目录外按实际路径调整)
学习目标
- 掌握 Pin.IN + 内部上拉;理解按下=0、松开=1。
- 会做边沿检测与简单消抖。
- 使用 while 主循环持续轮询。
- 左右约定:SW21 / LED5 红在左;SW20 / LED6 绿在右。
内容要点
- 上拉电阻与低有效的含义。
- 电平采样 vs 边沿触发。
- time.sleep_ms 控制轮询与消抖。
代码说明
| 文件 | 简要说明 |
|---|---|
test_button.py | SW20/SW21 配置为 IN + PULL_UP(低有效)。15 秒内检测按下边沿并计数打印,用于确认按键硬件与左右丝印。 |
toggle_led.py | 主循环轮询按键:左键 SW21 翻转左红 LED5;右键 SW20 翻转右绿 LED6。含简单消抖;Ctrl-C 退出后熄灯。 |
实验
- 运行
test_button.py,串口观察按下次数。 - 运行
toggle_led.py:左键 SW21 → 左侧红灯 LED5;右键 SW20 → 右侧绿灯 LED6。
GPIO 编号、LED / 按键方位以专题页 第四节「GPIO 与接线」 为准,本页不重复抄写引脚数字。