读取按钮状态
使用 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 反馈 — 无需本地设置。