← 返回课程与案例

第 3 章 · 上拉输入 · 条件判断 · 按键消抖

按下按键,LED 才亮

让一个输入条件决定一个输出动作,读懂“如果……否则……”在硬件程序中的作用。

对应例程:3-按键:按下才亮。无设备时可先阅读积木和代码;运行实物需按课堂条件连接开发板。

先作一个预测

按键松开和按下时,GPIO27 分别读到什么?为什么按下对应低电平?

准备与接线

先核对手里的器材

  • 经典 ESP32 开发板
  • 按键 K1、外接 LED 与限流电阻(或包含限流电阻的 LED 模块)
  • 面包板与连接线
器件端连接与设置核对重点
按键的两端GPIO27 与 GND程序使用内部上拉;按下使输入接地。四脚按键先确认哪两脚常通。
LED 阳极GPIO26,经限流电阻裸 LED 必须串联限流电阻;模块按其引脚标识连接。
LED 阴极GND按键与 LED 使用同一公共地。

先断电接线,再核对 LED 极性、限流电阻与按键脚位。图中外形用于认识器件,接线以本课表格和实物标识为准。

读懂例程

程序依次在做什么

  1. 01

    读取按键

    GPIO27 配置为上拉输入;松开时为高电平,按下接地后为低电平。

  2. 02

    等待并复查

    第一次读到低电平后等待 20 毫秒,再确认一次,减少机械抖动带来的误判。

  3. 03

    根据条件输出

    按下时向 GPIO26 写高电平;否则写低电平。

  4. 04

    持续检查

    循环重新读取按键,因此这是“按住亮、松开灭”,不是按一次切换一次。

打开积木,对照这几个步骤 ↗

观察与核对

用这些问题检查结果

  1. 先指出积木中“按下”和“否则”分别通往哪一个动作。
  2. 连接实物后分别按住、松开按键,检查输出是否跟随。
  3. 若一直亮或一直灭,依次核对按键脚位、公共地、GPIO27 与 GPIO26。

只改一个条件,再试一次

交换“按下”和“否则”里的输出状态,让 LED 松开时亮、按下时灭。保持接线不变,解释变化来自哪里。

看图认识相关器材

教学图帮助辨认接口与外形。电阻值、LED 支路与各器件的电气规格仍需核对实物;标为外观参考的变体不能直接照搬本课接线。