Hallo zusammen,
ich bin noch neu hier und auch noch relativ unerfahren was Arduino betrifft und habe eine (hoffendlich) einfache Frage zu einem Programm.
Ich bin dabei eine Box zu bauen, die bei Betätigung eines Tasters öffnen und bei der nächsten Betätigung wieder schließen soll.
Mit einem Servo hab ich das soweit hinbekommen, allerdings brummt der Servo in fast allen Positionen ständig. Jetzt wollte ich das ganze mit einem Schrittmotor realisieren. Da das Programm aber in einer Schleife immer wieder durch läuft, öffnet der Motor die Kiste (dreht also die vorgegeben Schrittzahl) und dreht dann logischerweise beim nächsten durchlaufen des loops die gleich Schrittzahl nochmal usw. Deshalb wüsste ich gerne, ob es eine Möglichkeit gibt, das Programm nach dem ersten öffnen solange anzuhalten, bis der Taster erneut gedrückt wird. Ich könnte mir auch vorstellen, einen Wippschalter zu verbauen und das ganze so zu gestalten, dass die Pause nur so lange dauert bis dieser wieder in der Anfangsposition ist.
Es wäre echt super, wenn mir jemand einen Tipp geben könnte. Hab auch schon ziemlich lange im www gesucht, aber nichts gefunden (was ich auch verstanden hätte :-[ , neuling wie gesagt).
Vielleicht hat ja auch jemand schonmal was ähnliches gemacht und kann mir Tipps geben.
Danke schonmal im Voraus und Grüße!
VaughanWest
Hi,
Du bekommst den gleichen Tipp wie alle: lerne die Basics (und die reichen allemal um Dein Problem in den Griff zu bekommen)!
Also:
- Taster abfragen (scheint ja zu klappen) und Zustand merken
- abhängig vom Zustand dies oder jenes machen
- Suchbegriff hilft vielleicht: "State Machine"
Hilfreich ist auch ab und zu mal, den bereits vorhandenen Sketch zu zeigen. Du wirst es nicht glauben, wie oft das schon beim Helfen geholfen hat 
Hei Klaus_ww,
danke für die Antwort! Ich werd mich zu "State Machine" schlau machen und die Basics lernen! Hab ja schon angefangen nur die Ungeduld ist wie so oft zu groß 
Falls der Sketch einfach nicht funktionieren will, stell ich ihn mal rein. Vorerst versuch ich mal mit deinem Stichwort weiter zu kommen.
lg
Hallo,
das Problem ist immer, trotz Arduino Vereinfachung, man muß die Grundlagen des programmierens lernen. Also in welcher Logik man sein Programm schreibt. Dazu meine ich nicht unbedingt die Befehle auswendig zu lernen, sondern die Logik was man wie löst.
Bsp. dein Taster. Du möchtest damit 2 Dinge machen. Einmal drücken, Klappe geht auf. Nochmal drücken, Klappe geht wieder zu. Und das ganz von vorn.
a) Taster entprellen
b) Zustand der Tasterbetätigung merken
c) entsprechend der Zustandänderungen bedingte nächste Befehle ausführen.
gleich vorweg, mach alles ohne dem Befehl delay.
Das einfachste ist, erstmal ohne Motor oder Servo, eine einzige LED mit einem Tasterdruck einschalten und mit dem nächsten Tasterdruck wieder ausschalten. Hört sich erstmal simpel an, steckt aber eine Menge Aufwand dahinter. Mehr wie man im ersten Moment denkt. Wenn Du das mit entprellten Taster hinbekommst, ist Deine Klappe ein Kinderspiel.