Tresenlift für Schnaps, Motor mit Mikroschaltern

  • Was für was steht habe ich dir doch in meinem letzten Beitrag gepostet:

    Im Klartext bedeutet das also

    stepper = ed.easydriver(18, 0.004, 23, 24, 17, 25)

    stepper = ed.easydriver(Step GPIO pin number, Delay between step pulses in seconds, Direction GPIO pin number, Microstep 1 GPIO pin number, Microstep 2 GPIO pin number, Microstep 3 GPIO pin number)


    Sleep GPIO pin number, Enable GPIO pin number, Reset GPIO pin number werden in dem Beispiel nicht genutzt (steht auch da).


    Aber wo sind sie weiter difiniert.

    Sie werden doch genau an der Stelle definiert und an die Klasse übergeben, die 0.004 (der zweite Wert) sind das Delay (die Pause) zwischen den Schritten.

  • Schönen guten Morgen,


    hatte map bisse pause gemacht um den Kopf frei zubekommen.


    was meint ihr dazu?

  • was meint ihr dazu?

    - Einrückungen kaputt ;)

    - subprocess.call übergibt man üblicherweise eine Liste oder Tuple, auch wenn ein String möglich ist. Kannst du mit shlex.split erzeugen.

    - Allgemein, wenn es die verwendete Version von Python zulässt, verwendet man lieber subprocess.run: https://docs.python.org/3/libr…ocess.html#subprocess.run

    - Warum für den mpg123 eine neue Shell und in den Hintergrund? Warum wartest du danach genau neun Sekunden? Wäre es nicht besser, call(...) blocken zu lassen und dann einfach weiter zu machen, anstatt den Befehl in der neuen Shell in den Hintergrund zu schicken und das Script manuell zu blockieren? :conf:

  • Zitat

    - Allgemein, wenn es die verwendete Version von Python zulässt, verwendet man lieber subprocess.run

    run wurde IMHO mit Version 3.5 eingeführt. ;)


    Ace Welche Version bei Dir läuft, erfährst Du mit python -V bzw python3 -V.

  • Irgendwie sehe ich in deinem Script keine Schleife, die den Stepper auch nur eine gewisse Zeit laufen lässt. Ich sehe, das du genau einen Schritt ausführst nachdem dein Jägermeisterhorn geblasen wurde... aber mit einem Schritt wird kein noch so Kurzer erscheinen. Du musst den Stepper schon eine Weile laufen lassen.


    In der stepper.py findest du ab Zeile 40 folgenden Code:

    Code
    1. # Do some steps.
    2. for i in range(0,100):
    3. stepper.step()

    Der lässt den Stepper 100 Schritte machen - als Denkansatz...


    Weißt du schon wieviele Halbschritte (die willst du ja laut Script machen) du brauchst um den Kurzen auftauchen zu lassen?

  • :denker:


    also beim testen, hatte ich den delay auf 0,005 und 0,450 schritte.

    Fand ich erstmal ganz gut.

    natürlich muss dann später noch bisse angepasst werden, wenn die Mechanik steht..


    Aber ja ich hatte auch noch überlegt wie ich die Schritt mit in den script bekomme... ist also noch nicht wirklich toll das ganze :conf:

  • die LEd geht an Musik kommt. motor geht nichts

    Wundert dich das? Mit dem Script, das du in Beitrag #144 gepostet hast, zuckt der Stepper maximal ein mal kurz (Zeile 21), vermutlich so kurz das du es nicht mitbekommst.


    Mit dieser Krücke sollte dein Stepper 100 volle Schritte im Uhrzeigersinn machen, 5 Sekunden warten und dann 100 volle Schritte entgegen des Uhrzeigersinns machen:


    Ohne das du uns dein Script zeigst können wir dir schlecht helfen.