Menu
CoddyTech

读取按钮状态

本课属于 Coddy Arduino 学习旅程的“初识电路”单元。第 22 课,共 22 课。

引脚也可以作为输入:开发板会读取它是 HIGH 还是 LOW。

按住按钮时,它会将引脚 2 接地(0 伏)。松开时,引脚没有连接任何东西,读数会是随机值。INPUT_PULLUP 会启用开发板内部的上拉电阻,让引脚保持 HIGH,直到按钮将它拉到 LOW:

pinMode(2, INPUT_PULLUP);

digitalRead(2) 会读取引脚的电平。启用上拉电阻后,按下按钮时读数为 LOW:

if (digitalRead(2) == LOW) {
  // 按钮被按下了
}

其他内容你都已经了解:用 if 和 else 进行选择,用 digitalWrite() 控制 LED,用 Serial.println() 输出信息。

challenge icon

挑战

简单

按钮连接在 2 号引脚,LED 连接在 13 号引脚。按住按钮时,让 LED 亮起:

  • 将 2 号引脚设置为 INPUT_PULLUP
  • 当 digitalRead(buttonPin) 为 LOW 时,点亮 LED,打印 Pressed 并等待 200 ms(这样监视器就不会被刷屏)
  • 否则,关闭 LED

按下“运行”,按住板子上的绿色按钮,然后按“检查”。

亲手试试

const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {

}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

初识电路中的所有课

自己练习: Arduino 在线编辑器