ich sehe keinen richtigen offensichtlichen Fehler, allerdings kommt mir deine Button-press-Abfrage etwas kritisch vor, was sich u.U. ungünstig während der Laufzeit auswirken könnte:
Denn du liest einen Buttondruck, ohne auf Loslassen zu warten:
ich mache das bei mir in solchen Fällen so:Code:if (buttonState_1 == LOW) { volume ++; if (volume == 16) volume = 15; radio.setVolume(volume); delay(100); displayData(); } else if (buttonState_2 == LOW) { volume --; if (volume < 0) volume = 0; radio.setVolume(volume); delay(100); displayData(); }
vlt wäre das ja mal einen Versuch wert....Code:// digitalRead(buttonPin_1); // button_pressed == LOW? if(!digitalRead(buttonPin_1) ) { while(!digitalRead(buttonPin_1) ) // wait for button_up == HIGH {delay(10);} // volume ++; //...usw... } // digitalRead(buttonPin_2); // button_pressed == LOW? if(!digitalRead(buttonPin_2) ) { while(!digitalRead(buttonPin_2) ) // wait for button_up == HIGH {delay(10);} // volume --; //...usw... }







Zitieren


Lesezeichen