Menu
CoddyTech

统计按钮按下次数

本课属于 Coddy Arduino 学习旅程的“输入”单元。第 5 课,共 22 课。

上一课中的边沿可以触发每次按下时只发生一次的操作。这里,它会让计数器加 1,并使用了 Counting Up 中的 ++:

int presses = 0;

void loop() {
  int reading = digitalRead(2);
  if (reading == LOW && lastReading == HIGH) {
    presses++;
    Serial.println(presses);
  }
  lastReading = reading;
}

presses 和 lastReading 一样,放在 setup() 上方,因此它的值会在多次运行 loop() 之间保留下来。

打印语句在 if 中,所以只有计数变化时才会显示数字:1、2、3。如果把它放在 if 外面,就会每秒打印数千次相同的计数。

challenge icon

挑战

简单

按钮连接在引脚 2(INPUT_PULLUP)。统计按下次数:

  • 将计数保存在 presses 中,并在 setup() 上方声明
  • 按钮按下时,计数加 1 并输出计数

点击 运行,按几次按钮并观察串口监视器,然后点击 检查。

亲手试试

const int buttonPin = 2;

int lastReading = HIGH;

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

void loop() {
  int reading = digitalRead(buttonPin);
  // 按钮按下时,计数并打印次数
  lastReading = reading;
}
quiz icon自我测试

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

输入中的所有课

自己练习: Arduino 在线编辑器