Problème tracker solaire 2 axes

Bonjour tout le monde,
Je suis nouveau sur le forum et je sollicite votre aide pour mon panneau solaire deux axes.
J’ai toujours été un peu bricoleur et j’ai découvert récemment arduino, et je me suis lancé comme projet de faire un panneau solaire qui se positionne de façon optimisée vis à vis du soleil ( c’est à dire là où l’intensité lumineuse est maximale ).
Mon programme et mes branchements me paraissent bon, mais cependant mon panneau solaire se contente de tourner jusqu’à une position est toujours la même et s’arrête.
Pourriez vous corrigez mes erreurs ?
Ci joint le code utilisé et des photos de mon montage.
Les photo résistances utilisées sont des 20kOhms et les résistances des 1kOhms
Je m’excuse d’avance de vous fournier des photos et non une capture d’écran de fritzing mais je n’arrive pas à le télécharger.
Bonne journée,
Philippe

#include <servo.h> 
 

int pinL = 1;              
int pinR = 2;              
int pinServo1 = 10;        
int pinU = 3;             
int pinServo2 = 11;        
 
int leftValue = 0;        
int rightValue = 0;       
int upValue = 0;           
int error1 =0;             
int errorAVG1 = 0;         
int error2 =0;              
int errorAVG2 = 0;         
 
 
Servo hServo1;              
Servo hServo2;   
int Position = 45;        
 
int minPos = 7;            
int maxPos = 160;          
 
 
float output1 = (maxPos - minPos) /2; 
float output2 = (maxPos - minPos) /2;  
 
void setup()
{
 
Serial.begin(9600); 
hServo1.attach(pinServo1);
hServo2.attach(pinServo2);
 
Serial.println("Moving Servo to start Position");
hServo1.write(output1);
hServo2.write(output2);
delay(2000);
Serial.println("Going Live................");
}
void loop()
{
  
   leftValue = analogRead(pinL);
   rightValue = analogRead(pinR);
   upValue = analogRead(pinU);
   error1 = leftValue - rightValue;
   error2 = -upValue + (leftValue+rightValue)/2;
   errorAVG1 = (errorAVG1 + error1) / 2;
   errorAVG2 = (errorAVG2 + error2) / 2;
  
 float newOutput1 = output1 + getTravel(errorAVG1);
 if (newOutput1 > maxPos)
 {
   newOutput1 = maxPos;
 }
 else
 { 
   if (newOutput1 < minPos)
   {
     newOutput1 = minPos;
   }
 }
    hServo1.write(newOutput1);
    output1 = newOutput1;
     
 float newOutput2 = output2 + getTravel(errorAVG2); 
 if (newOutput2 > maxPos)
 {
   newOutput2 = maxPos;
 }
 else
 { 
   if (newOutput2 < minPos)
   {
     newOutput2 = minPos;
   }
 }
    hServo2.write(newOutput2);
    output2 = newOutput2;
}
 
int getTravel(float errorAVG)
{
  int deadband = 50;         //Range for which to do nothing with output 10 = -10 to +10  
  
  
 if (errorAVG < (deadband * -1))
 {
   return -1;
 }
 else
 {
   if (errorAVG > deadband)
   {
     return 1;
   }
   else
   {
     return 0;
   }
 }
}

Ci-joint un schéma de mon montage car je n’arrivais pas à poster mes photos.
Cependant, contrairement à mon schéma les servomoteurs sont sur le pin 10 et 11 sur mon montage.
En espérant que vous arriverez à me lire.
Philippe