Ansteuern von 2 Servos

Hallo ich muss für mein Schulprojekt einen licht Verfolger mit dem Arduino bauen. Hierbei soll ich ein kostruckt bauen das sich mit Hilfe von 2 Servos (2 Achsen) einer Lichtquelle folgt, allerdings bekomme ich es nicht hin denn 2 Servo anzusteuern. Könnte mir jemand sagen wo das Problem liegt ?

Hier der Code:

// Servo-Library einbinden
#include <Servo.h>

// Servo-Objekt1 erzeugen
Servo myservo1;
// Servo-Objekt2 erzeugen
Servo myservo2;
// Startwinkel für den Servo (Bereich 0-179 Grad)
int angle = 180;
int anglex = 180;

void setup() {
// Serielle Schnittstelle initialisieren
Serial.begin(9600);
// Pin 3 als Ausgabe-Pin
pinMode(3, OUTPUT);
pinMode(0, OUTPUT);
// Pin 3 ist Steuerpin für den Servo
myservo1.attach(3);
myservo2.attach(0);
}


void loop() {

// Helligkeit der beiden lichtempfindlichen Widerstände
int rightEye = analogRead(1);
int leftEye = analogRead(2);
int upEye = analogRead(3);
int downEye = analogRead(4);
// Differenz ausrechnen
int diff = (1.2*rightEye - leftEye);
int diffup = (upEye - downEye);  
// Wenn rechts deutlich heller als links -> 2 Grad nach rechts drehen
if (diff > 10) {
angle = angle+1;
}
if (diffup > 10){
 anglex = anglex+1;
}
// Wenn links deutlich heller als rechts -> 2 Grad nach links drehen
if (diff < -10) {
angle = angle-1;
}
if (diffup < -10){
anglex = anglex-1;
}
// Servo max. bis 179 Grad drehen
if (angle > 179) {
angle = 179;
}
if (anglex > 179){
 anglex = 179;
}
// Servo min. bis 0 Grad drehen
if (angle < 0) {
angle = 0;
}
if (anglex < 0) {
 anglex = 0;
}
// Grad an den Servo schicken
myservo1.write(angle);
myservo2.write(anglex); 
// Die beiden Helligkeitswerte zu Testzwecken an den PC übertragen
Serial.println(String(rightEye)+"-"+String(leftEye)+"-"+String(upEye)+"-"+String(downEye));
// Kurze Wartezeit, dann nächste Messung.
// Sollte es beim Testen der Einstellungen zu chaotisch werden,
// diesen Wert einfach auf 50 oder 100 erhöhen und damit den Vorgang verlangsamen
delay(20);
}

Mach mal die 2 Achsen getrennt. mal nur rechts und links und dann nur oben und unten.
Sind die LDRs richtig positioniert?
Grüße Uwe

Pin 0 und 1 sind schon vergeben für die Serielle Schnittstelle

korrigiere

 pinMode(0, OUTPUT);
 myservo2.attach(0);

  int rightEye = analogRead(1);

Das ist schon lästig, dass du dir das im Code nun durchgängig zusammen suchen musst, oder?

daher besser:
definiere ALLE Deine Pins in Konstanten und verwende diese dann.

ungetestet:

// Servo-Library einbinden
#include <Servo.h>

// PIN Definitionen

// reserviert für Serial = 0
// reserviert für Serial = 1
const int servo1Pin = 3;
const int servo2Pin = 5;   // noiasca: Achtung umschließen!
const int ldrRightPin = 6; // noiasca: Achtung umschließen!
const int ldrLeftPin = 2;
const int ldrUpPin = 3;
const int ldrDownPin = 4;
// genutzt von #define LED_BUILTIN 13

// Servo-Objekt1 erzeugen
Servo myservo1;
// Servo-Objekt2 erzeugen
Servo myservo2;
// Startwinkel für den Servo (Bereich 0-179 Grad)
int angle = 180;
int anglex = 180;

void setup() {
  // Serielle Schnittstelle initialisieren
  Serial.begin(9600);
  // Pin 3 als Ausgabe-Pin
  //pinMode(servo1_pin, OUTPUT);              // noiasca: das ist für Servos nicht notwendig
  //pinMode(servo2_pin, OUTPUT);              // noiasca: ebenso
  // Pin 3 ist Steuerpin für den Servo
  myservo1.attach(servo1Pin);
  myservo2.attach(servo2Pin);
}


void loop() {
  // Helligkeit der beiden lichtempfindlichen Widerstände
  int rightEye = analogRead(ldrRightPin);
  int leftEye = analogRead(ldrLeftPin);
  int upEye = analogRead(ldrUpPin);
  int downEye = analogRead(ldrDownPin);
  // Differenz ausrechnen
  int diff = (1.2 * rightEye - leftEye);
  int diffup = (upEye - downEye);
  // Wenn rechts deutlich heller als links -> 2 Grad nach rechts drehen
  if (diff > 10) {
    angle = angle + 1;
  }
  if (diffup > 10) {
    anglex = anglex + 1;
  }
  // Wenn links deutlich heller als rechts -> 2 Grad nach links drehen
  if (diff < -10) {
    angle = angle - 1;
  }
  if (diffup < -10) {
    anglex = anglex - 1;
  }
  // Servo max. bis 179 Grad drehen
  if (angle > 179) {
    angle = 179;
  }
  if (anglex > 179) {
    anglex = 179;
  }
  // Servo min. bis 0 Grad drehen
  if (angle < 0) {
    angle = 0;
  }
  if (anglex < 0) {
    anglex = 0;
  }
  // Grad an den Servo schicken
  myservo1.write(angle);
  myservo2.write(anglex);
  // Die beiden Helligkeitswerte zu Testzwecken an den PC übertragen
  Serial.println(String(rightEye) + "-" + String(leftEye) + "-" + String(upEye) + "-" + String(downEye));
  // Kurze Wartezeit, dann nächste Messung.
  // Sollte es beim Testen der Einstellungen zu chaotisch werden,
  // diesen Wert einfach auf 50 oder 100 erhöhen und damit den Vorgang verlangsamen
  delay(20);
}

P.S.: bitte lies im Forum How to wie man Code als Code formatiert