mikrocontroller.net

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


Autor: Ritzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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]

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ritzel (Gast)
Datum:

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

MFG Ritzel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.