Podemos controlar outros servos com o código de servo comum Arduino

Aug 17 2020

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

1 Kevin Aug 26 2020 at 07:11

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.