Possiamo controllare altri servi con il codice servo comune Arduino

Aug 17 2020

Sto cercando di controllare MG996R usando il codice per un tipico servo (SG90)

Ho usato un alimentatore esterno, 5V, 2A
Ho collegato la linea del segnale del servo allo slot 7 di Arduino, il servo positivo all'alimentatore esterno positivo, la terra del servo alla terra dell'alimentatore esterno, lasciando l'alimentatore Arduino e la terra scollegati.

Ho provato il codice seguente.
funziona per SG90, mentre MG996R non si muove affatto.


#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);
  }

}

È perché i diversi servi richiedono un codice diverso?

Risposte

1 Kevin Aug 26 2020 at 07:11

Funzionano con lo stesso segnale di controllo, quindi lo stesso codice dovrebbe funzionare per entrambi

È necessario assicurarsi che la massa del servo sia collegata sia alla massa Arduino che alla massa dell'alimentatore (massa dell'alimentatore per l'alimentazione positiva, massa Arduino per la linea del segnale)

Penso che SG90 abbia funzionato anche non collegando la terra di Arduino è perché la differenza nel design.

Ma dovresti sempre collegare la messa a terra del servo alla terra di Arduino.