   attachInterrupt(digitalPinToInterrupt(INTERROMPE_DIREITA), contadorDireita, CHANGE);
   attachInterrupt(digitalPinToInterrupt(INTERROMPE_ESQUERDA), contadorEsquerda, CHANGE);
 
+#ifdef USE_PID
   motorDireito.SetOutputLimits(0, 1023);
   motorEsquerdo.SetOutputLimits(0, 1023);
-  motorDireito.SetSampleTime(1000 / 10);
-  motorEsquerdo.SetSampleTime(1000 / 10);
-
-  Timer1.initialize(1000000 / 10);
+  motorDireito.SetSampleTime(1000 / DIVISOES);
+  motorEsquerdo.SetSampleTime(1000 / DIVISOES);
+#endif
+
+  Timer1.initialize(1000000 / DIVISOES);
   Timer1.attachInterrupt(ajustaMotor);
 }
 

void ajustaMotor() {
  if (motoresAtivados && pidAtivado) {
    entradaEsquerda = contaEsquerda - anteriorEsquerda;
    motorEsquerdo.Compute();
    ACELERA_ESQUERDA(pwmEsquerda);

    entradaDireita = contaDireita - anteriorDireita;
    motorDireito.Compute();
    ACELERA_DIREITA(pwmDireita);

    if (entradaEsquerda > entradaDireita) {

    switch (serialLido[0]) {
      case 'I':
        motoresAtivados = true;
#ifdef USE_PID
        motorDireito.SetMode(AUTOMATIC);
        motorEsquerdo.SetMode(AUTOMATIC);
#endif
        contaDireita = 0;
        contaEsquerda = 0;
        anteriorDireita = 0;
