共通のサーボコードArduinoで他のサーボを制御できますか
Aug 17 2020
典型的なサーボ(SG90)のコードを使用してMG996Rを制御しようとしています
私は外部電源5V、2Aを使用しました。
サーボ信号ラインをArduinoスロット7に接続し、サーボプラスを外部電源プラスに、サーボアースを外部電源アースに接続しましたが、Arduino電源とアースは接続していません。
以下のコードを試してみました。
MG996Rはまったく動いていませんが、SG90では機能します。
#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);
}
}
サーボが異なれば必要なコードも異なるからですか?
回答
1 Kevin Aug 26 2020 at 07:11
それらは同じ制御信号で動作するため、同じコードが両方で動作するはずです
サーボのアースがArduinoのアースと電源のアースの両方に接続されていることを確認する必要があります(電源のプラスの場合は電源のアース、信号線の場合はArduinoのアース)
Arduinoのアースを接続しなくてもSG90が機能したのは、デザインの違いによるものだと思います。
ただし、常にサーボグランドをArduinoグランドに接続する必要があります。