Loop ausführen solange Taster gedrückt ist

(deleted)

(deleted)

Du kannst es mit einer if-Abfrage lösen.

If (Taster == LOW) {
// dein Code
}

buzzer230:
Kann man ein Programmablauf (Loop Schleife ) vorläufig abbrechen, wenn man z.B. einen Taster los lässt ?

jetzt möchte ich, dass wenn ich den Taster loslasse, das mein Loop beendet wird.

Du widersprichst Dich.

Wenn Du auf das Loslassen reagieren willst, geht das ggfls. so:

while(digitalRead(TastenPIN)==HIGH){
}

wenn Dein Taster mit einem PULL_UP angeschlossen ist.

(deleted)

Ich glaube, du möchtest eine Ablaufsteuerung bauen.

Wenn dem so ist, dann halte ich es für unklug, in Schleifen und Abbrüchen zu denken.
Sinnvoller würde mir das denken in Zuständen erscheinen und die Konzentration auf das wechseln der Zuständen zu sein.

Suchtipp: Endlicher Automat.

buzzer230:
Genauso habe ich es...wenn mein Taster gedrückt ist...dann arbeitet er meinen Code ab...auch wenn ich meinen Taster los lasse.
Ich möchte ja das er mein Code oder Loop abbricht wenn ich loslasse.

In der Variante oben von mir, verbleibt der Ablauf innerhalb der {} - da könntest Du z.B. noch was reinschreiben, was gemacht werden Soll, wenn die Taste losgelassen.
z.B. eine Ausgabe.

Aber: Drückst Du die Taste wieder, dann beginnt er genau da weiterzumachen.
Wenn Du möchstest, das der Code beim erneuten drücken von vorn beginnt, musst Du das anders lösen.

buzzer230:
Sorry bin noch ein bisschen grün hinter den Ohren was das angeht.

Du hast doch weitere Beispiele bekommen.

Einfach gesagt ich möchte mein Loop beim loslassen des Tasters beenden.

Der Sinn von loop() ist, dass er/sie/es gleich neu startet, wenn es beendet wird. Beenden macht also gar keinen Sinn.

loop wird erheblich einfacher, wenn innerhalb von loop keine weiteren Schleifen sind, alles (Taster abfragen, Motor an, Motor aus, Geschwindigkeit einstellen, usw.) nur einmal in der loop vorkommt und höchstens einmal drankommt. Loop beendet sich meistens sofort, weil nichts zu tun ist (und kommt sofort wieder dran)

Wenn man sich dann noch passende Startzeiten merkt (seit wann der Motor schon läuft), kann man auch solche Bedingungen wie "danach wird die Drehzahl verringert" realisieren, ohne dabei delay() oder verschachtelte Schleifen zu brauchen.

Das Hauptproblem ist erstmal, Gedankengänge wie "Loop beenden, wenn..." aus dem Kopf zu bekommen.