Me pasa algo muy extraño.
He conectado un servo MG996R a arduino, con intención de manejarlo con un potenciometro. Vamos, el típico ejemplo "Knob" de la librería "Servo.h".
Pues lo curioso es que si conecto todo el sistema mediante usb, ¡la comunicación Serial no funciona! Extrañamente el servo interfiere.
Suponiendo que se trataba de que el servo que uso necesita mucha alimentación (aunque supuestamente con 5v debe funcionar) conecté arduino además a una toma de 12V por el jack. Entonces, ya sí que funcionó la conexión serial (con la que monitorizo los valores del potenciometro).
Ahora, lo curioso es que fijé un delay de 100ms, sobran para el servo y además no envía demasiados datos de manera innecesaria por serial. Pues siempre llega un momento, a los pocos segundos, que ya el servo no hace caso a los movimientos del potenciómetro y ¡el serial comienza a mostrar datos como si la parte del delay fuese inexistente! como si el loop no tuviese ningún delay o lo tuviese a 1ms.
He hecho varias pruebas, una de ellas dos bucles for que hacen que el servo gire totalmente a su izquierda y luego totalmente a su derecha con un delay de 30ms. Pues igualmente llega un momento que simplemente se detiene, como si el delay no estuviese haciendo efecto.
La verdad es que estoy intrigado de porqué arduino se comporta así, supongo que alimentando el servo externamente debería solucionarse, pero, ¿porqué creeis que pasa eso? ¿cómo solucionarlo sin alimentación externa?
Un saludo!