Problème programme déplacement

Cette écriture n'est pas accepté en C

    if(-50 < Difference < 50)

à remplacer par

    if((-50 < Difference) && (Difference< 50))

Les goto sont parfaitement inutiles. Les if else étant mutuellement exclusifs les goto n'apportent rien.
En plus ils perturbent le fonctionnement correct de la fonction loop qui est intégrée dans une boucle (bien qu'invisible pour l'utilisateur). En effet, les goto renvoient à début qui se trouve après la lecture des capteurs qui du coup ne sont jamais lus.

Donc supprimer les goto. Ce qui donne ça:

void loop()
  {
    analogWrite(MotChenD, 128);
    analogWrite(MotChenG, 128);
    HallD = analogRead(CaptHallD); // On mesure la tension délivrée par le capteur droit
    HallG = analogRead(CaptHallG); // On mesure la tension délivrée par le capteur gauche
    
    Difference = (HallD - HallG); // Calcul de la différence des deux tensions converties
    
    if(-50 < Difference < 50)
      {
      }
      
    else if(50 <= Difference <= 512) // Cas où capteur Gauche relève la plus grande valeur
      {
        analogWrite(MotChenD, 191);
      }
      
    else if(512 < Difference) // Cas où la valeur du capteur gauche >> que valeur capteur droit
      {
        analogWrite(MotChenD, 230);
       }

    else if(-512 <= Difference <= -50)
      {
        analogWrite(MotChenG, 191);
      }
   
    else
      {
        analogWrite(MotChenG, 230);
      }     
  }

De plus, je pense que ces 2 lignes

    analogWrite(MotChenD, 128);
    analogWrite(MotChenG, 128);

devraient être mises dans ce if

   if(-50 < Difference < 50)
      {
      }