Das größte Problem, dass ich bei deinem Source-Code sehe, ist, dass du nur ein Servo-Objekt für 4 Servos erstellst.
Vorschlag:
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.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() {}
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); }







Zitieren

Lesezeichen