 double errSum, lastErr;
 int cons = 15;
 int amostra = 1000; // 1seg
-
+double outMin, outMax;
 void definirErro(int setPoint){ 
 
   calcularTempo();

  if(distancia > 0 && dt >= amostra){
    Serial.println(distancia);
    erro =  setPoint - distancia;
    if(errSum >= 50){
      errSum = 0;
    }
    errSum += erro;
    double dDistancia = (distancia - ultimaDistancia);
    i = ki * errSum;
    d = kd * dDistancia;
    x = cons + ((erro*kp) - d + i);
    y = cons - ((erro*kp) - d + i);

    x = 10;
    y = 15;
  }
}

void SetOutputLimits(double Min, double Max) // RESET WIDNUP
{
   if(Min < Max){
     outMin = Min;
     outMax = Max;
   }
   if(Output > outMax){
    Output = outMax;
   }else if(Output < outMin){
    Output = outMin;
   }
 
   if(i > outMax){
    i = outMax;
   }else if(i < outMin){
    i = outMin;
   }
}

void setTunings(double Kp, double Ki , double Kd){
