概要
Arduinoを用いて GeekServo 9G Motor-Red を制御する方法を紹介します。モータードライバには TA7291P を使用し、PWM信号を活用した回転制御を行います。
初心者の方でも分かりやすいように、モーターとモータードライバの仕様、接続方法、Arduinoのサンプルコード まで詳しく解説します。
モーター(GeekServo 9G Motor-Red)の製品説明
GeekServo 9G Motor-Redとは?
GeekServo 9G Motor-Red は、小型DCモーターで、ロボット制御や電子工作に適したモーターです。PWM信号を用いることで、回転速度の制御が可能です。
主な仕様
- 電圧範囲:5V
- 動作方式:DCモーター(PWM制御対応)
- 端子:2本(赤:+、黒:-)
モータードライバ(TA7291P)の製品説明
TA7291P は、東芝製のHブリッジモータードライバICで、DCモーターの正転・逆転を制御できます。Arduinoのデジタル信号でモーターを動作させるために使用します。
ピンの記号と意味
| ピン番号 | 記号 | 意味 |
|---|---|---|
| 1 | GND | グランド(ArduinoのGNDに接続) |
| 2 | OUT1 | モーター接続端子(GeekServoの赤) |
| 3 | NC | 未使用 |
| 4 | Vref | PWM制御用端子(ArduinoのPWM信号を入力) |
| 5 | IN1 | モーターの回転方向制御(Arduinoのデジタル信号) |
| 6 | IN2 | モーターの回転方向制御(Arduinoのデジタル信号) |
| 7 | VCC | 電源供給端子(Arduinoの5Vに接続) |
| 8 | Vs | モーター駆動用電源端子(Arduinoの5Vに接続) |
| 9 | NC | 未使用 |
| 10 | OUT2 | モーター接続端子(GeekServoの黒) |
Arduinoとモータードライバの接続
接続図
Arduinoとモータードライバ、モーターの接続は以下のように行います。
| モータードライバのピン | Arduinoの接続 | GeekServo 9G Motor-Red |
|---|---|---|
| GND(ピン1) | Arduino GND | – |
| OUT1(ピン2) | – | GeekServo 9G Motor-Red の 赤 |
| OUT2(ピン10) | – | GeekServo 9G Motor-Red の 黒 |
| Vref(ピン4) | Arduino の PWM 出力(例: D9) | – |
| IN1(ピン5) | Arduino のデジタル出力(例: D7) | – |
| IN2(ピン6) | Arduino のデジタル出力(例: D8) | – |
| VCC(ピン7) | Arduino の 5V | – |
| Vs(ピン8) | Arduino の 5V | – |
この接続により、Arduino からモーターの回転方向を制御 し、PWM信号を用いて速度の調整 も可能になります。
Arduinoのサンプルコード
以下のコードでは、モーターを2秒間正転 → 1秒停止 → 2秒間逆転 → 1秒停止 を繰り返します。
#define IN1 7 // IN1 ピン
#define IN2 8 // IN2 ピン
#define VREF 9 // Vref(PWM制御)
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(VREF, OUTPUT);
}
void loop() {
// 正転(IN1 = HIGH, IN2 = LOW)
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(VREF, 150); // 速度 150(0~255)
delay(2000); // 2秒間回転
// 停止
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
analogWrite(VREF, 0);
delay(1000); // 1秒間停止
// 逆転(IN1 = LOW, IN2 = HIGH)
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(VREF, 150);
delay(2000); // 2秒間回転
// 停止
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
analogWrite(VREF, 0);
delay(1000);
}
のコードをArduinoに書き込むと、モーターが一定の間隔で正転・逆転を繰り返します。
まとめ
本記事では、Arduino を用いて GeekServo 9G Motor-Red を TA7291P モータードライバで制御する方法 を解説しました。
Arduino の 5V を使用して簡単に制御できるため、特別な外部電源は不要 です。
今回のポイント
- GeekServo 9G Motor-Red はDCモーターで、PWM制御が可能
- TA7291P モータードライバ を使用して正転・逆転を制御
- Arduino の PWM 信号で速度調整 も可能
- 外部電源を使わず、Arduino の 5V だけで動作
Arduino を使った DC モーター制御を学ぶ上で、基本的な回路構成やPWM制御の概念を理解できる内容 となっています。
本記事を参考に、モーター制御の応用にもチャレンジしてみてください。
IT・ガジェット・電子工作の知識をこれひとつで

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
PCアプリの操作解説、最新のガジェット情報、そして電子工作の専門書まで。 Kindle Unlimitedなら、あらゆるジャンルのIT・デジタル関連書籍が読み放題です。
「仕事の効率化」から「趣味の深掘り」まで、高価な専門書をわざわざ買わずに、必要な情報をその場で引き出せるのが最大のメリット。 現在は30日間の無料体験や、対象者限定の「3ヶ月499円」プランなどが用意されています。まずはご自身のアカウントでお得なオファーが表示されるかご確認ください。
