【发布时间】:2017-10-28 16:59:09
【问题描述】:
所以我下午一直忙于处理我的编程作业,我似乎无法解决下面找到的代码中的问题。
练习是我需要通过按下按钮来切换 LED。在我的代码中,当我单击按钮时 LED 会亮起,但当我再次单击按钮时它不会关闭。
int pinButton = 5;
int LED = 10;
int currentState;
int previousState;
void setup() {
Serial.begin(9600);
pinMode(pinButton, INPUT);
pinMode(LED, OUTPUT);
}
void toggleLed(){
if (previousState == 1 && currentState == 0){
digitalWrite(LED, HIGH);
Serial.println(currentState);
Serial.println(previousState);
delay(100);
} else {
digitalWrite(LED, LOW);
Serial.println(currentState);
Serial.println(previousState);
delay(100);
}
}
void loop() {
int currentState = digitalRead(pinButton);
if (currentState == 0 && previousState == 1) {
Serial.println("Knop is losgelaten");
toggleLed();
}
previousState = currentState;
}
我猜在第一个 if 语句中 else 代码块没有意义,因为在这种情况下 previousState 和 currentState 将始终分别为 1 和 0。
你们有什么建议吗?
顺便说一句,这个 Arduino 是一个 Arduino Uno。
【问题讨论】:
标签: button arduino arduino-uno led