Hallo Leute,
ich bin auch ein blutiger Anfänger und habe gleich meine erste Frage......!!!
Ich sage Euch erstmal was ich denn überhaupt vorhabe so das Ihr eine kleine Vorstellung bekommt was mir so im Hirn herumschwebt
Ich bin Schiffsmodelbauer und möchte gerne auf einem Kriegsschiff alle 4 Geschütztürme mit einem Kontroller ansteuern.
Erste Frage.....kann ich zwei Servos an einen Steuerpin legen so das alle beide das gleiche gleichzeitig machen???
Mein Versuchsaufbau ist der....Ein Jumperkabel vom Servo an 5v, eins an Ground und eins ist an Pin 9
Das funktioniert auch soweit
Jetzt die zweite Frage kann ich einen Loop für eine bestimmte Zeit unterbrechen, damit meine ich das sich zwei Türme drehen (0°-90° und dann für vielleicht 30sek stehen bleiben und zum Schluß wieder zurück 90°-0°) drehen
Bei mir dreht sich der Turm einmal hin und dann gleich wieder zurück
Oder gibt es vielleicht eine andere Steuerung mit der so etwas besser funktionieren würde????
CptTom:
Hallo Leute,
ich bin auch ein blutiger Anfänger und habe gleich meine erste Frage......!!!
Ich sage Euch erstmal was ich denn überhaupt vorhabe so das Ihr eine kleine Vorstellung bekommt was mir so im Hirn herumschwebt
Ich bin Schiffsmodelbauer und möchte gerne auf einem Kriegsschiff alle 4 Geschütztürme mit einem Kontroller ansteuern.
Erste Frage.....kann ich zwei Servos an einen Steuerpin legen so das alle beide das gleiche gleichzeitig machen???
Mein Versuchsaufbau ist der....Ein Jumperkabel vom Servo an 5v, eins an Ground und eins ist an Pin 9
Das funktioniert auch soweit
Da sehe ich den Sinn nicht.
Du kannst mit einer Routine 2 Pins steuern.
Jetzt die zweite Frage kann ich einen Loop für eine bestimmte Zeit unterbrechen, damit meine ich das sich zwei Türme drehen (0°-90° und dann für vielleicht 30sek stehen bleiben und zum Schluß wieder zurück 90°-0°) drehen
Bei mir dreht sich der Turm einmal hin und dann gleich wieder zurück
Oder gibt es vielleicht eine andere Steuerung mit der so etwas besser funktionieren würde????
Die Loop kannst du und darfst du nicht unterbrechen.
Du kannst aber die Programmierung so ausführen, das der Sketch und die Servos es so ausführen, wie du es möchtest.
HotSystems:
Da sehe ich den Sinn nicht.
Du kannst mit einer Routine 2 Pins steuern.
damit wäre ja schon meine erste frage beantwortet...zwei Steuerpins und beide Servos fangen sich gleichzeitig an zu drehen und zu stoppen
Die Loop kannst du und darfst du nicht unterbrechen.
Du kannst aber die Programmierung so ausführen, das der Sketch und die Servos es so ausführen, wie du es möchtest.
Hmmmm hättest Du da vielleicht ein Beispiel...die Delayfunktion in der Programmierung ändert nur die Geschwindigkeit des Servos aber nicht das stoppen....oder unterbrechen
CptTom:
iBei mir dreht sich der Turm einmal hin und dann gleich wieder zurück
Zeigst Du uns auch mal deinen Sketch, oder ist der geheim? Dann kann man dir gebenenfalls auch sagen, was Du besser machen kannst um dein Ziel zu erreichen.
CptTom:
Hmmmm hättest Du da vielleicht ein Beispiel...die Delayfunktion in der Programmierung ändert nur die Geschwindigkeit des Servos aber nicht das stoppen....oder unterbrechen
Wenn du es entsprechend eines der zahlreichen Beispielen aufbaust, bleibt der Servo auch an der Position stehen, die du vorgibst.
Bei erneuter Steuerung dreht er entsprechend weiter oder zurück oder....oder....
Ja Sketch zeigen, wurde schon geschrieben.
Den bitte in Code-Tags, mit der Schaltfläche </> oben links im Editorfenster.
Ok hier ist der Sketch, das ist der der im Beispiel unter "Servos" angegeben ist.
Den habe ich schon ein bisschen verändert (Delay ist im Beispiel 15) und ich habe die Gradzahl verändert
Bin halt ein bisschen am rumspielen komischerweise ändert die "Delayangabe" nur die Geschwindigkeit....ist das richtig so????
CptTom:
komischerweise ändert die "Delayangabe" nur die Geschwindigkeit....ist das richtig so????
ja, das ist richtig so. Die in der IDE integrierte Servo-Lib kann das Servo nicht langsam bewegen. Wenn Du da ein write(pos) machst, bewegt es sich mit maximaler Geschwindigkeit dorthin. Wenn es langsam gehen soll musst Du also viele Zwischenschritte einfügen und dann immer ein bisschen warten bis es zum nächsten Schritt geht. Das macht die for-Schleife mit den delay(). Und wenn Du bei jedem Schritt etwas länger wartest, bewegt sich das Servo halt langsamer.
Möchtest Du nach der Bewegung etwas warten, musst Du ein delay() zwischen die for-Schleifen einfügen.
Zum Probieren kannst Du das jetzt erstmal so machen. Insgesamt ist das aber für dein Projekt letztendlich nicht zielführend. Du solltest eine Lib verwenden, die das langsame Bewegen bereits selbst erledigt. Ich habe für meine Modellbahnkollegen mal eine Lib geschrieben, die das kann. Es gibt aber noch einige andere, die auch weiter verbreitet sind.
Und dann kannst Du daran gehen, ganz ohne delay() zuprogrammieren
Wow....cooool und vielen Dank an Euch (Franz-Peter für den link)...ich bin mir jetzt sicher das ich mit viiiieeellll rumspielen und Eurer Hilfe dann endlich zum Ergebnis komme.
Muss jetzt leider aufhören (wie bekommen Besuch) aber ich melde mich Morgen wieder