Dann nimm entweder einen externen pulldown Widerstand oder verwende die internen Pullups und bau die Logik um auf active LOW.
Zum Nachlesen: Taster abfragen - Arduino - Tutorials - rotering-net.de
Dann nimm entweder einen externen pulldown Widerstand oder verwende die internen Pullups und bau die Logik um auf active LOW.
Zum Nachlesen: Taster abfragen - Arduino - Tutorials - rotering-net.de
Das kann unterschiedliche Ursachen haben.
Hier mal ein Kurzcode mit zwei möglichen Einstellungen für die Taste.
In der Ausgangslage wird davon ausgegangen, dass die Taste nach GND auslöst.
Wenn Du beim Tastendruck keine Ausgabe bekommst, dann im setup den pinMode ändern auf INPUT und nochmal probieren.
constexpr uint8_t buttonPin {5};
bool lastState;
void setup()
{
Serial.begin(115200);
Serial.println(F("Start..."));
// pinMode(buttonPin, INPUT);
pinMode(buttonPin, INPUT_PULLUP);
lastState = digitalRead(buttonPin);
}
void loop()
{
if (digitalRead(buttonPin) != lastState)
{
Serial.print(F("Flanke erkannt - alt: "));
Serial.print(lastState);
lastState = !lastState;
}
}
Evtl. hast du deinen unbekannten Taster auch falsch angeschlossen, oder der Eingangspin des Controllers ist schon defekt, weil immer 5Volt dran lagen.