按键实验

时间:2024-6-6    作者:老大夫    分类: ARDUINO


https://www.bilibili.com/video/BV1RM4y1a7J5?p=12

主要学习了按键的 读取方法 digitalRead(button_pin)、按键消除抖动,就是延时20毫秒左右再读取一下,相同电位则视为按下。

设计图片

代码

// 定义 LED 与 按键引脚
int led_pin = 7;
int button_pin = 6;

// 定义 LED 逻辑值
int led_logic = 0;
// 判断 LED 的状态是否改变过
bool status = false;

void setup() {  
  pinMode(led_pin, OUTPUT);
  pinMode(button_pin, INPUT_PULLUP);
}

void loop() {
  // 按键消抖
  if (digitalRead(button_pin)) {
    // 睡眠 10ms,如果依然为高电平,说明抖动已消失。
    delay(10);
    if (digitalRead(button_pin) && !status) {
      led_logic = !led_logic;
      digitalWrite(led_pin, led_logic);
      // led 的状态发生了变化,即使我持续按着按键,LED 的状态也不应该改变。
      status = !status;
      }else if (!digitalRead(button_pin)) {
        status = false;  
      }
    }
}

BRD文件

按钮实验.brd


扫描二维码,在手机上阅读

推荐阅读: