記事一覧へ戻る
Arduino/初級/7分で読める/

ArduinoでSG90サーボモーターを動かす配線とコード

SG90サーボは角度を指定して動かせる小型モーターです。信号線だけでなく、5V電源とGND共通が必要です。動作が不安定な場合は外部電源も検討します。

WIRING ORDER

配線順序プレビュー

レッスン用図解
Tsunagu IoT Learn / Arduino
  1. 1STEP 1SG90 赤線(VCC) から Arduino 5V へ
    ここから
    SG90 赤線(VCC)
    ここへ
    Arduino 5V

    確認: 小型サーボ1個の確認用です。負荷が大きい場合は外部電源を使います。

  2. 2STEP 2SG90 茶または黒線(GND) から Arduino GND へ
    ここから
    SG90 茶または黒線(GND)
    ここへ
    Arduino GND

    確認: 外部電源を使う場合もArduinoとGNDを共通にします。

  3. 3STEP 3SG90 橙または黄色線(SIGNAL) から Arduino D9 へ
    ここから
    SG90 橙または黄色線(SIGNAL)
    ここへ
    Arduino D9

    確認: コードではSERVO_PINを9にします。

用意するもの

  • Arduino Uno
  • SG90サーボモーター
  • ジャンパーワイヤー
  • 必要に応じて外部5V電源

配線

接続元接続先確認点
SG90 赤線(VCC)Arduino 5V小型サーボ1個の確認用です。負荷が大きい場合は外部電源を使います。
SG90 茶または黒線(GND)Arduino GND外部電源を使う場合もArduinoとGNDを共通にします。
SG90 橙または黄色線(SIGNAL)Arduino D9コードではSERVO_PINを9にします。

配線元、配線先、コードのピン番号を同じ画面で確認できます。

手順

  1. 1サーボの3本線の色と役割を確認します。
  2. 2VCCを5V、GNDをGNDへ接続します。
  3. 3信号線をD9へ接続します。
  4. 4Servoライブラリを使ったスケッチを書き込みます。
  5. 50度、90度、180度付近へゆっくり動くか確認します。

D9でSG90を動かすArduinoスケッチ

cpp
#include <Servo.h>

const int SERVO_PIN = 9;

Servo servo;

void setup() {
  servo.attach(SERVO_PIN);
}

void loop() {
  servo.write(0);
  delay(1000);
  servo.write(90);
  delay(1000);
  servo.write(180);
  delay(1000);
}

動かないときの確認

  • 信号線がD9につながっているか
  • VCCとGNDを逆にしていないか
  • 外部電源使用時にGNDを共通にしているか
  • サーボに無理な負荷がかかっていないか

よくあるミス

  • 信号線だけ接続して電源やGNDを忘れる
  • 外部電源のGNDとArduinoのGNDを共通にしない
  • サーボを機械的な限界まで押し付けたまま動かす

次に試すこと

サーボの角度制御ができたら、距離センサーやボタン入力と組み合わせて、条件に応じて角度を変える回路へ進めます。

デモで配線を確認する