プロが教える店舗&オフィスのセキュリティ対策術

このスケッチは VarSpeedServo.h というライブラリを使用して作成したもので、
動作角180度サーボの速度を0~255まで制御できるというものです。
arduino unoの9番ピンにサーボの信号線を接続してあります。
また、2番ピンにはプルダウン抵抗を介してスイッチを接続してあります。
arduino unoの電源を入れた時、スイッチがONならサーボが10度の角度へ最高速度で移動し、スイッチがOFFになったら160度へ同じく最高速度で移動します。

:::::::::::::::::::::::::::::::::::::::

#include <VarSpeedServo.h>

VarSpeedServo myservo; // インスタンス作成

void setup() {
pinMode(2,INPUT) ; //スイッチに接続したピンをデジタル入力に設定
myservo.attach(9); // サーボのピンを9番に接続
}
void loop() {


if (digitalRead(2) == HIGH) { //スイッチの状態を調べる
myservo.write(10, 0, true); //10度まで速度maxで移動。動きが完了するまで待つ。
myservo.write(10, 0, true); //10度まで速度maxで移動。動きが完了するまで待つ。

} else {
myservo.write(160, 0, true); //180度まで速度maxで移動。動きが完了するまで待つ。
myservo.write(160, 0, true); //180度まで速度maxで移動。動きが完了するまで待つ
}



}

::::::::::::::::::::::::::::::::::::

このスケッチを改造して2個またはそれ以上のサーボを同時にスイッチで制御するにはどのようにしたら良いのでしょうか?
例えば3つのサーボ、スイッチを接続し、3つのサーボを「それぞれのスイッチで完全に独立して同時に」動作させる場合は上記のスケッチをどのように変更したらでしょうか?
一つのサーボの動作が完了してからではなくあくまで同時に動かしたいです。
ただ、同時と言ってもスイッチの状態を調べるのは完全に同時にはできないかもしれないのでそこは順番に調べる動作でもかまいません。あくまで人間から見てほぼ同時であれば良いので。
スイッチ用の入力ピン、サーボの信号用ピンの配置はお任せします。

いろいろやってみているのですがなかなか上手くいきません。
よろしくお願いします。

A 回答 (1件)

自宅で試す方法がないのでネット情報を紹介します。



>歩行ロボットをつくるにはまずこれ!【サーボ編2】
http://www.isopro91.com/entry/2014/10/21/arduino …

>workshop/ServoBasis/main
http://tetsuakibaba.jp/index.php?page=workshop/S …


>Arduinoで始めるロボット制御
http://www.vstone.co.jp/vs_wiki/main/wiki.cgi?pa …

 ページの中間あたりに複数個の取り付けについて記述があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A