久しぶりに動かしてみました
最近、仕事が忙しいのを言い訳にして、arduino を触ってませんでした。
今日久しぶりに動かしました。
サーボモーターを2つ、同じように動かしたいと思い、
以下のようなプログラムにしたのですが、
D10 ピンにつないだモーターしか動きません。
#include
Servo servo; //Servoオブジェクトを作成
void setup()
{
servo.attach(9); //D9ピンをサーボの信号線として設定
servo.attach(10); //D10ピンをサーボの信号線として設定
}
void loop()
{
servo.write(90); // サーボの角度を90°に設定
delay(1000);
servo.write(0); // サーボの角度を0°に設定
delay(1000);
}
どうしてなのか?
なぜ D9ピンにつないだものは動かないのか?
まだわかりません。
悩んでみます!!
今日久しぶりに動かしました。
サーボモーターを2つ、同じように動かしたいと思い、
以下のようなプログラムにしたのですが、
D10 ピンにつないだモーターしか動きません。
#include
Servo servo; //Servoオブジェクトを作成
void setup()
{
servo.attach(9); //D9ピンをサーボの信号線として設定
servo.attach(10); //D10ピンをサーボの信号線として設定
}
void loop()
{
servo.write(90); // サーボの角度を90°に設定
delay(1000);
servo.write(0); // サーボの角度を0°に設定
delay(1000);
}
どうしてなのか?
なぜ D9ピンにつないだものは動かないのか?
まだわかりません。
悩んでみます!!
この記事へのコメント
複数のサーボモータを動かすには、
複数のServoオブジェクトを作り、
それぞれに1つのサーボを担当させましょう。
具体的には次のようになります。
#include
Servo servo0; // D9用のServoオブジェクトを作成
Servo servo1; // D10用のServoオブジェクトを作成
void setup()
{
servo0.attach(9); // D9ピンをサーボの信号線として設定
servo1.attach(10); // D10ピンをサーボの信号線として設定
}
void loop()
{
servo0.write(90); // D9のサーボの角度を90°に設定
servo1.write(90); // D10のサーボの角度を90°に設定
delay(1000);
servo0.write(0); // D9のサーボの角度を0°に設定
servo1.write(0); // D10サーボの角度を0°に設定
delay(1000);
}
#include
const int servoCount = 2;
Servo servos[servoCount]; // 2つのServoオブジェクトを作成
void setup()
{
servos[0].attach(9); // D9ピンをサーボの信号線として設定
servos[1].attach(10); // D10ピンをサーボの信号線として設定
}
void loop()
{
for (int i = 0; i < servoCount; i++) {
servos[i].write(90); // サーボの角度を90°に設定
}
delay(1000);
for (int i = 0; i < servoCount; i++) {
servos[i].write(0); // サーボの角度を0°に設定
}
delay(1000);
}
というような感じでいかがでしょうか?
いま会社帰りですので帰ったら
試して見ます!