ここに私の回路接続の大まかなスケッチがあります:
8 つのサーボ モーターは、DC 電源で外部から電力を供給されます。電源、サーボモーター、Arduinoのアースを共通化。Arduinoはラップトップで動く
#include <VarSpeedServo.h>
VarSpeedServo rot1;
VarSpeedServo rot2;
VarSpeedServo rot3;
VarSpeedServo rot4;
VarSpeedServo grip1;
VarSpeedServo grip2;
VarSpeedServo grip3;
VarSpeedServo grip4;
void setup() {
rot1.attach(11);
grip1.attach(10);
rot2.attach(1);
grip2.attach(2);
rot3.attach(8);
grip3.attach(9);
rot4.attach(5);
grip4.attach(7);
home1();
delay(1000);
home2();
delay(1000);
home3();
delay(1000);
home4();
}
void loop() {
}
void home1()
{
rot1.write(0, 30, true);
delay(2000);
rot1.detach();
grip1.write(40, 30, true);
delay(2000);
grip1.detach();
}
void home2()
{
rot2.write(0, 30, true);
delay(2000);
rot2.detach();
grip2.write(40, 30, true);
delay(2000);
grip2.detach();
}
void home3()
{
rot3.write(180, 30, true);
delay(2000);
rot3.detach();
grip3.write(160, 30, true);
delay(2000);
grip3.detach();
}
void home4()
{
rot4.write(180, 30, true);
delay(2000);
rot4.detach();
grip4.write(80, 30, true);
delay(2000);
grip4.detach();
}
上記プログラムは、8台のサーボモータを制御するためのものです。ルービックキューブを解くロボットを作っています。4 つのアームがあり、各アームには 2 つのサーボ モーターがあります。1 つのモーターがグリップを開いてキューブを保持し、もう 1 つのモーターが特定の角度でキューブを回転させます。
プログラムをアップロードするたびに、サーボモーターは最初は異なる位置に移動し、次にプログラムに従って動きます。その背後にある理由が何であるかはわかりません。
プログラムで何かを変更する必要がありますか、それとも回路で何かを変更する必要がありますか?