         break;
       case 'S':
         motoresAtivados = false;
+#ifdef USE_PID
         motorDireito.SetMode(MANUAL);
         motorEsquerdo.SetMode(MANUAL);
+#endif
         FREIO();
         break;
       case 'L':

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

void ajustaMotor() {
  if (motoresAtivados && pidAtivado) {
    entradaEsquerda = contaEsquerda - anteriorEsquerda;
#ifdef USE_PID
    motorEsquerdo.Compute();
#else
    pwmEsquerda += kpEsquerda * abs(entradaEsquerda - META) * ((entradaEsquerda > META) ? -1 : 1);
    pwmEsquerda = (pwmEsquerda < 0 ? 0 : ((pwmEsquerda > 1023) ? 1023 : pwmDireita);
#endif
    ACELERA_ESQUERDA(pwmEsquerda);

    entradaDireita = contaDireita - anteriorDireita;
#ifdef USE_PID
    motorDireito.Compute();
#else
    pwmDireita += kpDireita * abs(entradaDireita - META) * ((entradaDireita > META) ? -1 : 1);
    pwmDireita = (pwmDireita < 0 ? 0 : ((pwmDireita > 1023) ? 1023 : pwmDireita);
#endif
    ACELERA_DIREITA(pwmDireita);

    if (entradaEsquerda > entradaDireita) {
