¿Podemos controlar otros servos con código de servo común Arduino?
Estoy tratando de controlar MG996R usando código para un servo típico (SG90)
Usé una fuente de alimentación externa, 5V, 2A
. Conecté la línea de señal del servo a la ranura 7 de Arduino, el servo positivo a la fuente de alimentación externa positiva, la tierra del servo a la tierra de la fuente de alimentación externa, mientras dejaba la fuente de alimentación Arduino y la tierra desconectadas.
Probé el siguiente código.
funciona para SG90, mientras que MG996R no se mueve en absoluto.
#include <Servo.h>
Servo myservo;
void setup()
{
myservo.attach(7); //pin 7 is the one control servo
}
void loop()
{
for (int pos=0; pos<=60; pos++)
{
myservo.write(pos);
delay(15);
}
}
¿Es porque los diferentes servos necesitan un código diferente?
Respuestas
Funcionan con la misma señal de control, por lo que el mismo código debería funcionar para ambos
Debe asegurarse de que la tierra del servo esté conectada con la tierra de Arduino y la tierra de la fuente de alimentación (tierra de la fuente de alimentación para la fuente de alimentación positiva, tierra de Arduino para la línea de señal)
Creo que SG90 funcionó incluso sin conectar el suelo Arduino se debe a la diferencia en el diseño.
Pero siempre debes conectar la tierra Servo a la tierra Arduino.