【问题标题】:Arduino button LED not workingArduino按钮LED不工作
【发布时间】:2018-02-07 00:18:51
【问题描述】:

当我按下按钮时,它会关闭 KY008,但当我再次点击它时,它不会关闭它,但如果我稍微晃动激光二极管,KY008 就会重新打开。

代码:

int LED = 12;
int BUTTON = 4;

void setup(){
   pinMode(LED,OUTPUT);
   pinMode(BUTTON,INPUT);
}

void loop(){
    if(digitalRead(BUTTON) == HIGH){
        digitalWrite(LED,HIGH);
    }else{ 
    digitalWrite(LED,LOW);
    }
}

【问题讨论】:

  • a) 阅读stackoverflow.com/editing-help 了解如何格式化您的代码。 b) 考虑在Arduino 发帖
  • 您有外部上拉/下拉电阻吗?
  • 另外 KY008 似乎是激光模块而不是 LED。

标签: arduino


【解决方案1】:

如果您使用INPUT,则需要有一个物理上拉(或下拉)电阻(通常为 10k)。

否则使用INPUT_PULLUP 使用Arduino内部上拉电阻

pinMode(BUTTON, INPUT_PULLUP);

确保您的按钮在按下时将电路接地。

此外,在阅读按钮时,您会有很多弹跳。 防止弹跳的最简单方法是在读取之间添加延迟。

void loop(){
    if(digitalRead(BUTTON) == HIGH){
        digitalWrite(LED,HIGH);
    }else{ 
        digitalWrite(LED,LOW);
    }
    delay(100);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多