3ten Servo hinzufügen

Guten Morgen,

könnte mir jmd bitte erklären wie ich einen 3ten Servo in den code hinzufügen kann ?

#include <Servo.h>

Servo servoLeft;          // Definiere linken Servo
Servo servoRight;         // Definiere rechten Servo

void setup() { 
  servoLeft.attach(44);  // Setzt linken Servo auf digital pin 44
  servoRight.attach(22);  // Setzt rechten Servo auf digital pin 22
} 

void loop() {            // Loop für den Bewegungstest
  forward();             // Bsp: Bewege Vorwärts
  delay(2000);           // Waete 2000 millisekunden (2 Sek)
  reverse();
  delay(2000);
  turnRight();
  delay(2000);
  turnLeft();
  delay(2000);
  stopRobot();
  delay(2000);
}

// Bewegungs Routine für Vorwärts, Rückwärts, Drehungen und STOP
void forward() {
  servoLeft.write(0);
  servoRight.write(180);
}

void reverse() {
  servoLeft.write(180);
  servoRight.write(0);
}


void turnRight() {
  servoLeft.write(180);
  servoRight.write(180);
}
void turnLeft() {
  servoLeft.write(0);
  servoRight.write(0);
}

void stopRobot() {
  servoLeft.write(90);
  servoRight.write(90);
}

Danke

Probiere es mal so (ungetestet, Werte sinnfrei):

#include <Servo.h>

Servo servoLeft;          // Definiere linken Servo
Servo servoMitte;
Servo servoRight;         // Definiere rechten Servo

void setup() {
  servoLeft.attach(44);  // Setzt linken Servo auf digital pin 44
  servoMitte.attach(33);
  servoRight.attach(22);  // Setzt rechten Servo auf digital pin 22
}

void loop() {            // Loop für den Bewegungstest
  forward();             // Bsp: Bewege Vorwärts
  delay(2000);           // Waete 2000 millisekunden (2 Sek)
  reverse();
  delay(2000);
  turnRight();
  delay(2000);
  turnLeft();
  delay(2000);
  stopRobot();
  delay(2000);
}

// Bewegungs Routine für Vorwärts, Rückwärts, Drehungen und STOP
void forward() {
  servoLeft.write(0);
  servoMitte.write(90);
  servoRight.write(180);
}

void reverse() {
  servoLeft.write(180);
  servoMitte.write(45);
  servoRight.write(0);
}


void turnRight() {
  servoLeft.write(180);
  servoMitte.write(110);
  servoRight.write(180);
}
void turnLeft() {
  servoLeft.write(0);
  servoMitte.write(25);
  servoRight.write(0);
}

void stopRobot() {
  servoLeft.write(90);
  servoMitte.write(90);
  servoRight.write(90);
}

Achtung wegen des Stromverbrauchs der Servos.
Grüße Uwe

könnte mir jmd bitte erklären wie ich einen 3ten Servo in den code hinzufügen kann ?

Uwe, der Code verbraucht genausoviel Strom, egal wie viele Servos er steuert. :wink:
Sogar der Stromverbrauch des Arduino insgesamt ist völlig uninteressant (auch wenn der mit 3 Output Pins minimal großer als mit 2 Output Pins ist), im Vergleich zum Stromverbrauch der zwei bis drei Servos selbst.

Sorry Uwe, deine Bedenken sind natürlich die einzig relevanten, wenn man an eine gegebene Stromversorgung einen dritten Servo dranhängt.

Wer die Frage so wie agmue (und ich) sie verstanden hat, sich nicht (zumindest versuchsweise) selber beantworten kann, sollte erstmal nur narrensichere Bauanleitungen 1:1 nachbauen. Oder genauer nachfragen, wie man ihm das Beispiel so erklären kann, dass er eine Ahnung bekommt, was wofür gut ist.

Um agmue zu ergänzen:
Evtl. wird der dritte Servo eher unabhängig von den andern beiden verwendet. Dann sollte man, um in der Nähe des Ursprungsbeispiels zu bleiben, eher zusätzliche Funktionen für den 3. Servo erfinden und auch verwenden.

z.B.

Servo fenster(33);  // 3. Servo für einen Fensterheber an Pin 33
...
void openWindow() {
    fenster.write(0);
}
void closeWindow() {
    fenster.write(180);
}

Natürlichnoch sinnfreier zusammengesponnen.

P.S. Funktionsnamen müssen natürlich nicht auf Englisch sein :wink:

... wenn zumindest die Kommentare in Deutsch sind, ist Das schon die halbe Miete - zumindest szört's mich tierisch, wenn die Kommentare, sofern Diese denn Mal stimmen, unbedingt in denglisch sein müssen - damit wirklich gar keiner zu 100% versteht, Was Da gemacht werden sollte.

... ich schweife ab - dabei sind hier die Kommentare deutsch ...

MfG

Ich nehme an wenn man einen 3. Servo ansteuern will dann will man den 3. Servo auch betreiben und darum an die Stromversorgung anschließen. Da verbrauchen grob geschätzt 3 Servos 50% mehr Strom als 2 Servos.
Grüße Uwe

ich, vor 4 Stunden schon:
Uwe, deine Bedenken sind natürlich die einzig relevanten, wenn man an eine gegebene Stromversorgung einen dritten Servo dranhängt.

Musstu schon genau lesen, wenn du Lob/Bestätigung von mir haben willst :wink: 8)

Zu dieser späten Stunde bin ich für so Feinheiten leider nicht mehr empfänglich.
Grüße Uwe