0Pricing
Arduino & IoT Academy · 课时

读取按钮状态

使用 digitalRead 判断按钮是否按下

读取按钮状态 是 CoddyKit 上的免费 Arduino & IoT Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Arduino & IoT Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Arduino & IoT Academy 课程共包含 4 节课。

向引脚提问

现在引脚已经在接收信号,您可以询问它检测到了什么。digitalRead 函数会检查引脚并告诉您它当前的状态。

它会返回 HIGH 或 LOW

digitalRead 只会返回两个答案:HIGH 或 LOW。这非常适合按钮,因为按钮只有按下和未按下两种状态。

int state = digitalRead(2);

保存读数

将结果保存到一个变量中,以便后续使用。在这里,state 保存了 digitalRead 此刻从引脚 2 读取到的值。

int buttonPin = 2;
int state = digitalRead(buttonPin);

先设置模式

只有准备好引脚后才能读取。请在 setup() 中调用 pinMode,并传入 INPUT_PULLUP,然后再读取引脚。

void setup() {
  pinMode(2, INPUT_PULLUP);
}

在 loop() 中读取

按钮的状态会不断变化,因此您需要在 loop() 中读取。每次循环都会获取最新状态,让设备保持更新。

void loop() {
  int state = digitalRead(2);
}

记住逻辑反转

使用 INPUT_PULLUP 时,含义会反转:LOW 表示按钮被按下,HIGH 表示按钮已释放。读取 state 时请牢记这一点。

在串口中查看

您无法直接看到 HIGH 或 LOW,因此需要将它打印出来。将 state 发送到串口监视器,就能在按下按钮时观察这个值。

Serial.println(state);

打开通信通道

打印之前,请在 setup 中使用 Serial.begin 打开 USB 通道一次。对于简单项目,常用的速度是 9600 波特。

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
}

观察数值变化

上传程序,打开串口监视器,然后按下按钮。您会看到这个数字在按下按钮的瞬间从 1 跳变为 0。🔘

HIGH 和 LOW 是数字

在底层,HIGH 就是 1,LOW 就是 0。这就是为什么打印出的读数只是普通的 1 和 0。

您已经获得实时输入

现在,您可以将一次实体按压转换为代码能够测试的值。这个单一的读数,是您将构建的所有交互式设备的基础。

快速检查

回想一下,digitalRead 会将什么返回给您的代码。

回顾

您在 loop() 中使用 digitalRead 获取 HIGH 或 LOW,将其保存下来,并通过串口打印出来。接下来,您将让 LED 对这个状态做出反应。✅

常见问题解答

「读取按钮状态」课时是免费的吗?

是的 — 「读取按钮状态」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Arduino & IoT Academy 课程的其余内容,请升级到 CoddyKit PRO。 Arduino & IoT Academy 课程共包含 4 节课。

「读取按钮状态」这节课中我会学到什么?

使用 digitalRead 判断按钮是否按下 你通过在浏览器中直接运行的动手代码来练习 Arduino & IoT Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Arduino & IoT Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Arduino & IoT Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「读取按钮状态」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Arduino & IoT Academy 课中编写并运行代码吗?

能。每节 Arduino & IoT Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. INPUT 与 INPUT_PULLUP
  2. 读取按钮状态
  3. if/else:LED 跟随按钮
  4. 在面包板上连接按钮
← 返回 Arduino & IoT Academy