[Ajuda] Seguidor de linha

Boas.

Para não estar a abrir um novo tópico e visto o meu caso ser também referente a um veiculo que segue uma linha, coloco aqui a questão para o meu caso.

Para reutilizar um pequeno veiculo que tinha feito há algum tempo, resolvi colocar no mesmo 2 LDR de forma a poder fazer com que o mesmo se move-se seguindo uma linha preta. Fica a imagem com o veiculo e o conceito que tenho para os 2 LDR.

Mas não consigo que o mesmo ande como pretendia. Não sei estarei a utilizar erradamente os 2LDR para o que pretendo ou se será no próprio código que deixo abaixo.

#include <Servo.h>
  
  #define LEFTSERVOPIN  11
  #define RIGHTSERVOPIN  13
  
  Servo leftServo; 
  Servo rightServo; 
  
  int speed = 15; //velocidade de ambos os servos: percentagem entre 0 e 100
  
  int pinLDRDir = 0; // pino analógico A0 direita
  float LDRDir = 0;  // receberá o valor do LDR da direita
  int pinLDREsq = 2; // pino analógico A2 esquerda
  float LDREsq = 0;  // receberá o valor do LDR da esquerdaDR
    
   
  void setup()                  
  {
    setSpeed(speed);
    pinMode(LEFTSERVOPIN, OUTPUT);     
    pinMode(RIGHTSERVOPIN, OUTPUT);    
    leftServo.attach(LEFTSERVOPIN);    //'attaches' esquerdo servo
    rightServo.attach(RIGHTSERVOPIN);  //'attaches' direito servo
    vaiParado();     

    Serial.begin(9600);    
    
  }
  
  
  void loop()                     
  {
     
     LDRDir = analogRead(pinLDRDir);
     LDREsq = analogRead(pinLDREsq);
     
     //Se 75% de LDREsq >= LDRDir - Vira a 
    if( LDREsq*0.75 >= LDRDir)
      vaiEsquerda();
      
     //Senão se 75% de LDRDir >= LDREsq - Vira a 
    else if( LDRDir*0.75 >= LDREsq)
      vaiDireita();
      
    else
      vaiFrente();
  }
  
  
   //------------------------------------------------------------------------------------------------------------
  //INICIALIZAÇÃO DOS SERVOS PELO ARDUINO - ROTINAS
  
  /*
   * define a velocidade do veiculo entre 0-(parado) e 100-(velocidade máxima)
  */ 
  
  void setSpeed(int newSpeed){
    if(newSpeed >= 100) {
      newSpeed = 100;}    
    if(newSpeed <= 0) {
      newSpeed = 0;}         
    speed = newSpeed * 0.9;                   
  }
  
  /* veiculo em frente */
  void vaiFrente(){
   leftServo.write(90 + speed);
   rightServo.write(90 - speed);
  }
  
  /* veiculo para trás */
  void vaiTras(){
   leftServo.write(90 - speed);
   rightServo.write(90 + speed);
  }
    
  /* veiculo para a direita */
  void vaiDireita(){
   leftServo.write(90 + speed);
   rightServo.write(90 + speed);
  }
  
  /* veiculo para a esquerda */
  void vaiEsquerda(){
   leftServo.write(90 - speed);
   rightServo.write(90 - speed);
  }
  
   /* veiculo parado */
  void vaiParado(){
   //leftServo.write(90);
   //rightServo.write(90);
   leftServo.write(0);
   rightServo.write(0);
  }

Agradeço todo e qualquer contributo que possam dar.