Forum: Mikrocontroller und Digitale Elektronik Schrittmotor nur ein mal ansteuern?


von Ritzel (Gast)


Lesenswert?

Hallo,

habe da ein kleines Problem, mein schrittmotor programm soll nur ein mal 
die Anweisung ausführen wen eine Bedingung auf Hi 1 steht aber es fängt 
immer wieder von vorn an, ist ja klar, die Bedingung ist immer noch auf 
Hi.
Wie nun kann ich am dümmsten es machen das die Anweisung nur ein mal 
durchläuft auch wen die Bedingung immer noch auf Hi 1 ist, hat da jemand 
für mich ein Tipp ?

MFG Ritzel

Do
If Abstand = 1 Then
Gosub Motor1

Loop

Motor1:
Motor1_an = 1
     Motor1_richtung = 0

     For I = 1 To 100

     Motor1_takt = 0 : Waitus 1 : Motor1_takt = 1

     Waitms 1
     Next


     Motor1_an = 0
     Motor1_takt = 0

Return

von Stefan B. (stefan) Benutzerseite


Lesenswert?

[basic]
Do
  If Abstand = 1 Then Gosub Motor1
Loop

Motor1:
  If Motor1_laueft = 0 Then
     Motor1_an = 1
     Motor1_richtung = 0
     For I = 1 To 100
       Motor1_takt = 0 : Waitus 1 : Motor1_takt = 1
       Waitms 1
     Next
     Motor1_an = 0
     Motor1_takt = 0
     Motor1_laueft = 1
  Endif
Return
[/basic]

von Phil (Gast)


Lesenswert?

Am einfachsten machst du es so wie es Stefan beschrieben hat. Er hat 
noch eine weitere Variable "Motor1_läuft" eingefügt, die nur einmal den 
Wert '1' erhält und zwar wenn die Motoraktion ausgeführt wurde. Jetzt 
musst du nur noch nachfragen ob deine Variable den Wert '1' besitzt, 
bevor du die Aktion ausführst. Damit weißt du dann, ob die Motoraktion 
schon einmal ausgeführt wurde.
Gruß Phil

von Ritzel (Gast)


Lesenswert?

Hallo Stefan und Phil,
wie simpel doch es ist, habe es probiert funktioniert super, Danke.

MFG Ritzel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.