Можем ли мы управлять другими сервоприводами с помощью общего сервокода Arduino
Я пытаюсь управлять MG996R, используя код для типичного сервопривода (SG90)
Я использовал внешний источник питания, 5 В, 2 А.
Я подключил сигнальную линию сервопривода к слоту 7 Arduino, положительный полюс сервопривода к положительному положению внешнего источника питания, заземление сервопривода к заземлению внешнего источника питания, оставив источник питания и землю Arduino неподключенными.
Я попробовал приведенный ниже код.
он работает для SG90, а MG996R вообще не двигается.
#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);
}
}
Это потому, что для разных сервоприводов нужен разный код?
Ответы
Они работают с одним и тем же управляющим сигналом, поэтому для них обоих должен работать один и тот же код.
Вам необходимо убедиться, что земля сервопривода соединена как с землей Arduino, так и с землей источника питания (земля источника питания для положительного вывода питания, земля Arduino для сигнальной линии).
Я думаю, SG90 работал даже без подключения земли Arduino из-за разницы в конструкции.
Но вы всегда должны подключать землю сервопривода к земле Arduino.