Menu
CoddyTech

サーボをスイープさせる

CoddyのArduinoジャーニー「出力」セクションの一部。レッスン 21/24。

arm.write()は指定した角度へ一気に移動します。アームをゆっくり動かすには、forループで途中の角度をすべて順に通り、それぞれの角度で少し待ちます。

for (int angle = 0; angle <= 180; angle++) {
  arm.write(angle);
  delay(15);
}

ここではカウンターをangleと呼び、<= 180は180自体も含みます。15 msずつ、181ステップ進むと、約2.7秒かかります。

戻るときは、カウントダウンします。angle--は毎回1ずつ減らし、角度がまだ0以上の間、ループが実行されます。

for (int angle = 180; angle >= 0; angle--) {
  arm.write(angle);
  delay(15);
}

両方のループをloop()に入れると、アームは車のワイパーのように前後に動きます。

challenge icon

チャレンジ

簡単

ピン 9 のサーボを何度も繰り返し動かします。

  • 0 度から 180 度まで、1 度ずつ動かし、それぞれの位置で 15 ms 待ちます
  • その後、同じ方法で 0 度まで戻します

Run を押してから、Check を押します。

自分で試してみよう

#include <Servo.h>

Servo arm;

void setup() {
  arm.attach(9);
}

void loop() {
  // 0から180まで、15 msごとに1度ずつ動かす
  // その後、0まで戻す
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

出力のすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド