Programmer une jauge de contrainte

pourquoi dans la calibration vous effectuez la moyenne au sein de la boucle for ?

for(i=0;i<50;i++)
{
  value=analogRead(0);
  V=value*5.00/1023;
  Sum+=V;
  delay(10);
  Vcal=Sum/50; // <<==== ??????????????????
}

devrait être simplement

  for (byte i = 0; i < 50; i++)
  {
    Sum += analogRead(0) * 5.00 / 1023;
    delay(10);
  }
  Vcal = Sum / 50.0;

faites le ménage dans vos variables, il y a Sum qui est à la fois globale et locale... en pratique seule la valeur de calibration devrait être globale, vous pouvez dégager les autres

au lieu de diviser par 0.5, multipliez par 2.