steview_de:
Jetzt passiert folgendes: Die LED geht nach zwei Sekunden an - gut. Wenn ich den Taster drücke, geht sie LED immer 2 Sekunden nach loslassen an. Soll das so?
Nein, mit pinMode INPUT_PULLUP ist die Pegel-Logik jetzt natürlich vertauscht und Du mußt beim Auslesen das Signal mit dem '!' (NOT) Operator invertieren:
tastehochState = !digitalRead(tasterhoch);
steview_de:
Gerne nehme ich jede Hilfe in Form von Code-Schnipseln an.
Ich fange mal an zu suchen ...
[Edit] So, fertig gesucht: Etwas in der Art habe ich bisher noch nicht im Forum gepostet, und auch bei mir auf der Festplatte konnte ich nur Fragmente entdecken. Ich hatte die Verwendung solcher Button-Funktionen aufgegeben, nachdem ich gemerkt hatte, wie lahm die Bedienung dadurch wird: Nur ein "Doubleclick" wird in der Zeit erkannt, die man für den Doubleclick tatsächlich benötigt, alle anderen Funktionen werden nur mit Verzögerung erkannt: Ein "Singleclick" wird erst erkannt, nachdem die maximal erlaubte Doubleclick-Time vergangen ist, innerhalb der aus einem Singleclick noch ein Doubeclick werden könnte. Und Longclick Tastendrücke brauchen lange, weil die Taste eine bestimmte Mindestdauer gedrückt bleiben muss. Das hatte mir dann alles nicht gefallen und ich habe es beiseite gelegt, obwohl es funktioniert hat.
Mal schauen, ob ich den Code da rausziehen und ein geeignetes Programmierbeispiel dazu machen kann.