Podemos controlar outros servos com o código de servo comum Arduino
Estou tentando controlar MG996R usando o código de um servo típico (SG90)
Usei uma fonte de alimentação externa, 5V, 2A
, conectei a linha de sinal do servo ao slot 7 do Arduino, servo positivo à fonte de alimentação externa positiva, aterramento do servo ao aterramento da fonte de alimentação externa, enquanto deixava a fonte de alimentação do Arduino e o aterramento desconectados.
Tentei o código abaixo.
ele funciona para SG90, enquanto MG996R não está se movendo.
#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);
}
}
É porque os diferentes servos precisam de códigos diferentes?
Respostas
Eles funcionam com o mesmo sinal de controle, então o mesmo código deve funcionar para ambos
Você precisa se certificar de que o aterramento do servo está conectado ao aterramento do Arduino e ao aterramento da fonte de alimentação (aterramento da fonte de alimentação positivo, aterramento do Arduino para a linha de sinal)
Acho que SG90 funcionou mesmo sem conectar o aterramento do Arduino é por causa da diferença de design.
Mas você deve sempre conectar o aterramento do Servo ao aterramento do Arduino.