Moin zusammen,
Ich hab wohl ein Denkfehler und bekomme es nicht hin. Hab schon mehrere Varianten probiert und jedes mal bin ich gescheitert.
Folgendes sollte passieren:
Wenn buttonFlywheel = 0 soll sich Flywheel drehen...
wenn bottonAbzug & buttonEinzelfeuer = 0 soll ein mal geschossen werden ABER Flywheel soll weiter drehen
oder wenn buttonAbzug & buttonFeuerstoss = 0 soll drei mal geschossen werden ABER Flywheel soll immer noch so lage drehen bis buttonFlywheel =1
Ich habe bestimmt nur ein Gedankenfehler und wäre für jeden Hinweis dankbar.
Aktuell ist es so, dass das Flywheel sich dreht wird buttonFlywheel gedrückt, wird der Abzug bei FS o. EF betätigt hört auch das Flywheel auf sich zu drehen wenn geschossen wurde.
Deine delay stehen Dir im Weg. Du hast ja schon 1.8 Sekunden drin, in denen gewartet wird.
Schau Dir das Beispiel BlinkWithoutDelay in der IDE an und verstehe es oder arbeite Dich in die Timer der MoBaTools ein.
Ich klabüster mal auseinander:
a)
Flywheel soll sich solange drehen, wie buttonFlywheel gedrückt ist.
Wenn der button losgelassen wird, bleibt das ding stehen.
b) wenn buttonAbzug gedrückt ist, gibt es drei Möglichkieten.
b.1) Kein weiterer Button gedrückt -> Es passiert nix
b.2) buttonEinzelfeuer gedrückt -> 1x auslösen dann sperren
b.2.1. Erneutes auslösen erst, wenn der button zwischendurch losgelassen wurde
b.2.2. Gleichzeitiges auslösen von buttonDauerfeuer ist gesperrt
b.3) buttonDauerfeuer gedrückt -> dauerhaft auslösen
b.3.1. Wenn Taste losgelassen wird sofort aufgehört
b.3.2. Gleichzeitiges auslösen von buttonEinzelfeuer ist gesperrt.
Danke für deine schnelle Antwort.
Ich verstehe die millis etwas. Habs auch Anfänglich damit versucht. Da kam aber nur Grütze bei raus weil die Zeiten durcheinander liefen. (da habe ich aber noch versucht schon im setup mit milis zu arbeiten werde das mal mit delay und millis probieren.
Aber vielleicht hat ja jemand doch ne delay Lösung, dass flywheel dreht sich bis vermutlich grundstellung = true je Sequenz.
Ich male es mir morgen noch mal auf mit millis...
oh mein Gott das ist gut, warum hab ich das nicht so geschrieben.
grundsätzlich Feuerstoß und Einzelfeuer ist ein Wahlschalter somit gleichzeitig ausgeschlossen.
a) Wenn buttonFlywheel gedrückt ist Flywheel drehen (flywheel.write(92)
b) wenn buttonAbzug gedrückt ist, gibt es drei Möglichkieten. JA (nix // einzelfeuer // feuerstoss)
b1) Kein weiterer Button gedrückt -> Es passiert nix. JA
b.2) buttonEinzelfeuer gedrückt -> 1x auslösen dann Grundstellung
b.2.1. Erneutes auslösen erst, wenn der button zwischendurch losgelassen wurde JA
b.3) buttonFeuerstoss gedrückt -> 3x auslösen dann Grundstellung
b.3.1. Erneut auslösen erst wenn der button zwischendurch losgelassen wurde
ich kann nur Praktisch geht´s auch mit nem Hammer?
man man man seit ihr flott hier. Ich denke mal son billo kram schreibt ihr in unter ner Minute.... ich hab dafür Tage gebraucht um alleine die Richtigen billig Fahrregler an Start zu bekommen. 2 Arduinos haben bisschen gequalmt weil ein Schalter hin war. Hut ab, hab den größten Respekt vor euch. Hab hier auch viel im Forum gestöbert und rausgezogen.
geht bestimmt auch ohne die 30ms
hatte es zur Sicherheit mit eingebaut.
die 300ms sind ein Weg vom pusher, sprich er brauch 300ms für ganz vor und 300 für ganz zurück. Es irritiert mich das immer eine ganze Sequenz durchläuft und das FW dann stehen bleibt.
Mooment.
Das FW läuft nur auf Position 92 - dann ist Schluss.
Erst wenn der FW-button losgelassen geht der wieder auf Position 0.
Was soll das Ding machen? zwischen 92 und 0 ständig hin und her solange der button gedrückt ist?
Das mit den Feuertasten hab ich logisch begriffen. Aber das wird nicht in 10 Zeilen stehen
Ganz in ruhe, und NEIN hab keine vorgefertigten Skripte gezogen, lediglich den Weg hab ich mir angeschaut und alles dann per Hand geschrieben. Nur so versteht man auch halbwegs was man macht.
DAS delay ist sehr sehr wichtig und bei allen Reglern unterschiedlich. Die Start Abläufe sind bei den Reglern unterschiedlich. Machen reicht einfach nur LOW für 2600ms
Dein Code (danke noch mal für die Arbeit) lässt das FW zwar laufen für die button pressed Zeit ohne Unterbrechung, passt soweit.
auf EF geht der pusher beim drücken vor und zurück und beim Loslassen nochmal schnell vor und zurück
auf FS geht der pusher langsam vor und dann zu schnell zurück-vor-zurück vor-zurück und beim loslassen des Abzugs wieder vor und zurück.
jetzt muss ich erstmal nen paar Stunden deinen code studieren
Noch mal danke!!!! bitte Erstmal keine Hilfe mehr. Ich schreibe heute noch mal jeden code einzeln raus und teste die, ich meine mich zu erinnern das die einzeln funktioniert haben. (also nur EF oder nur FS)