strobo
Hab Dir ja den Tipp gegeben, ein Schritt nach dem andern zu machen. Das mit dem Timer hast Du anscheinend hingekriegt. Jetzt hast Du aber den den Timer mit dem Schrittmotor vermischt ... Lass mal den Timer und versuche den Schrittmotor zu steuern: Nicht vergebens heisst die Programmierumgebung Ui-Flow Blockly . Damit kannst Du die einzelnen Aufgaben in "Blöcke" einteilen und einzeln testen. Am Schluss kannst Du dann die einzelnen "Blöcke" zum fertigen Programm zusammensetzen.
Hier wäre mein Vorschlag zu den einzelnen Schritten ("testing and debugging") zurm Ansteuern der Schrittmotoren. Ich habe dir vorgeschlagen, die Tasten A und C als Steuerung für das Heben und Senken des Servomotors zu verwenden. Das Programm sähe dann etwa folgendermassen aus:
Wie Du festgestellt hast, bewegt sich der Schrittmotor jetzt ruckartig vonder oberen Position Oben zu der unteren bzw. umgekehrt. Also musst Du den Schrittmotor wie ich dir vorgeschlagen habe jetzt in kleinen Schritten ("Schritt") von Oben bis Unten bzw. umgekehrt bewegen. Mein Vorschlag für die Ergänzung des Programms sähe dann folgendermassen aus:
Wenn der Schrittmotor sich immer noch zu schnell bewegt, musst Du zwischen jedem Schritt eine kleine Gedenkpause ("Warten") einschalten:
Mit den Werten Schritt stellst Du die Schrittweite ein, mit Warten die Anzahl Millisekunden zwischen den einzelnen Schritten.
Wenn Du diese Parameter nach deinen Vorstellungen eingestellt ("testing nad debugging" !!) hast, kannst Du die beiden Blöcke in dein Teebeutelheber -Programm einbauen: Mit dem Befehl bzw. der Block-Funktion "Heben" geht der Teebeutel hoch, mit "Senken" runter, und dies mit den eingestellten Parametern.
Gruss Yngvar