午後にプログラミングの宿題を扱うのに忙しかったので、以下のコードで問題を解決できないようです。ArduinoボードのLEDがボタンのクリックで消灯しない
練習問題は、ボタンを押して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;
}
私は声明この場合にはpreviousState
とcurrentState
は常に、それぞれ1と0になりますので、最初に他のコードブロックは、意味がないことを推測します。
あなたはどんなヒントを持っていますか?
このArduinoは途中でArduino Unoです。
「while」ステートメントに入れても機能しません。 –