Hallo zusammen
ich bin gerade erst daran, den Arduino zu entdecken. Einige einfache Dinge konnte ich bereits erfolgreich umsetzen, nun wäre ich froh um eine Auskunft...
Folgendes würde ich gerne machen: einen Schrittmotor durch kurzes Drücken eines Tasters eine definierte Anzahl Schritte in die einte Richtung ausführen lassen, dort sollte er dann warten.
Wenn der Taster wieder kurz gedrückt wird, soll der Schrittmotor die gleiche Anzahl Schritte in die andere Richtung ausführen, und dort wieder warten.
Ist das so grundsätzlich möglich mit einem Taster und wie stelle ich das am einfachsten an? Oder gibt es eventuell eine bessere Möglichkeit? Bin froh um jeden Vorschlag und jede Hilfe
Hallo,
grundsätzlich ist das richtig...
"Wenn der Taster wieder kurz gedrückt wird, soll der Schrittmotor die gleiche Anzahl Schritte in die andere Richtung ausführen, und dort wieder warten."
Wann, vor- während- oder nach- der WarteZeit. Das mußt Du schon festlegen.
Gruß und Spaß
Andreas
warten soll er dort so lange, bis der Taster wieder gedrückt wird.
Also zuerst mal in der Grundposition warten, bis der Taster gedrückt wird. Jetzt die Anzahl Schritte in die erste Richtung ausführen, und dort solange bleiben, bis der Taster wieder gedrückt wird. Jetzt wieder die gleiche Anzahl Schritte, aber in die umgekehrte Richtung, und dort wieder bleiben usw....
hoffe so ist es etwas verständlicher...
Ja, ist alles machbar
Programm dazu? Denke das solltest du selbst schreiben, du willst es ja lernen
Ablaufdiagramm kann ich dir aber schreiben als Hilfestellung
Idealerweise triggert man auf Impulse, also auf den wechsel des Zustandes. Statisch auf High oder Low abfragen birgt die Gefahr das man lange auf dem Taster bleibt und dadurch Fehlauslösungen triggert.
Merke Taster in Variable
Prüfe ob Zustand geändert
Wenn jetzt high: Starte Motor
Nun kommt es drauf an, welchen Motortreiber du hast und wie du den ansteuerst. Dafür gibts fertige Bibliotheken. Dort ist auch beschrieben was man tun muss um entweder bestimmte Schrittzahl zu machen oder mit fester Frequenz/Speed für eine bestimmte Zeit zu bewegen.
Nehmen wir Schrittzahl an
Wenn Motorpos = 0
Motor laufen für X Schritte mit Y Speed in Richtung A
Motorpos = 1
Sonst
Motor laufen für X Schritte mit Y Speed in Richtung B
Motorpos = 0
Ende Loop
Grundsätzlich also relativ einfach. Ich weis nun nicht, wieviel Ahnung du überhaupt vom programmieren hast, die Grundbegriffe solltest du dir schon selbst aneignen.
Danke schon mal für den Ablauf, grundsätzlich war es für mich wichtig zu wissen, ob es in dieser Art mit einem Arduino überhaupt realisierbar ist.
Von Programmieren habe ich noch keine Ahnung, wühle mich noch durch etliche Tutorials...
Mechanisch habe ich mein Projekt bereits ziemlich fertig, jetzt reizt es mich, möglichst viele Raffinessen durch entsprechende Technik (Display, Audio, Led's usw..) noch einzubauen.
Ich bleibe also weiter dran....