Problem mit Button kurz oder lang drücken

Das kenne ich :wink:

P.S.: Welches Board benutzt Du? Je nach Board führen diverse Pins nach einem Reset bestimmte Funktionen durch ....

P.P.S.: Unter Umständen sollte man die genutzen Pins mit externen Pullup-Widerständen auf den gewünschten Pegel bringen. Wenn die Ports mit einem Reset z.B. zunächst generell als Input initialisiert werden, hat man dort einen floatenden Pin.

das macht bei mir nur ein Pin 13 sobald ich den Serial Monitor aufmache.
hab mal umgestellt auf Pin 5 und Pin 11 - die beginnen konstant zu leuchten.
externer Pullup könnte man probieren ja.

Bei AVR werden nachdem was ich so gefunden habe, die Pins generell bei Reboot/Reset auf Input gesetzt und können daher floaten ...

Wer, wie ich häufig, ein ESP32-DevKit einsetzt, muss mehr beachten, daher meine vorsichtige Frage; hier der relevante Auszug:

Da kommt man vielleicht nicht von selbst drauf und wundert sich ... :innocent:

Ein AZDelivery Uno als Test-Version. Der Rest verwendet einen Elego Uno. Da sind z. B. Unterschiede beim Port für den Monitor.

Habe bei mir auf Pin 2, 3, 4 umgestellt und nun hat es sich beruhigt:

//constexpr byte inputPin = A0;
const int inputPin = 2; // the number of the pushbutton pin
constexpr byte ledAPin = 3;
constexpr byte ledBPin = 4;

Werde den Code nun in mein Gesamtsystem integrieren, testen und berichte dann.
Jedenfalls vielen Dank für den Tipp! Das hat mir sehr viel weitergeholfen. Noch ein offener Punkt mit dem OLED-Display und dann kann ich die Hardware zusammen bauen.

Hat soweit funktioniert und ich bin zufrieden. Wieder etwas gelernt.
Vielen Dank an alle, welche zur Lösung beigetragen haben.

1 Like