Das größte Problem, dass ich bei deinem Source-Code sehe, ist, dass du nur ein Servo-Objekt für 4 Servos erstellst.
Vorschlag:
Code:
#include<Servo.h>
// 4 Servos
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
// Positionen der 4 Servos
int posServo1 = 0;
int posServo2 = 0;
int posServo3 = 0;
int posServo4 = 0;
void setup()
{
// Servos den Pins zuweisen
servo1.attach(2);
servo2.attach(3);
servo3.attach(4);
servo4.attach(5);
// Bewegungen
for(posServo4 = 0; posServo4 < 500; posServo4++)
{
servo4.write(posServo4);
delay(15);
}
for(posServo3 = 0; posServo3 < 500; posServo3++)
{
servo3.write(posServo3);
delay(15);
}
for(posServo2 = 0; posServo2 < 500; posServo2++)
{
servo2.write(posServo2);
delay(15);
}
for(posServo1 = 0; posServo1 < 500; posServo1++)
{
servo1.write(posServo1);
delay(15);
}
}
void loop() {}
Wenn du tatsächlich nur einmal den Bewegungsablauf ausführen willst, ist es ok die Befehle ins setup zu schreiben und die loop leer zu lassen.
Allerdings soll das Programm später bestimmt auf irgendwelche Eingaben reagieren, dann muss das in die loop.
Die vier Variablen für die Positionen kann man später so nutzen:
Code:
// weitere Bewegung: Servo4 zurück auf '250'
for(; posServo4 > 250; posServo4--)
{
servo4.write(posServo4);
delay(15);
}
Lesezeichen