Bluetoothで複数サーボを制御:Arduino & Androidアプリ
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino UNO | 1 | 6個以上のサーボならMega推奨 |
| HC-06 Bluetoothモジュール | 1 | または同等品 |
| サーボモーター | 6 | テスト用なら1個でも可 |
| ジャンパーワイヤーセット | 1 | |
| Android端末 | 1 | 制御アプリ用 |
プロジェクト概要
以前1サーボ制御アプリを作りましたが、今回は複数サーボ対応版を作成しました。Arduino側のコードも改良しています。
アプリ入手先: Google Play(要問い合わせでソースコード提供可能)
手順1:部品リストと配線
回路図通りに配線し、コードを書き込み、アプリをインストール、Bluetoothペアリング後接続すれば動作します。重要:RXD↔TX、TXD↔RXでクロス接続すること。書き込み時はBluetoothモジュールを外すこと。
手順2:HC-06の名前・PIN・ボーレート変更(任意)
USB-TTL変換アダプターでHC-06とPCを接続し、Arduino IDEのシリアルモニタでATコマンドを送信:
AT→OK応答確認AT+NAMExyz→ 名前を「xyz」に設定AT+PIN1234→ PINを「1234」に設定- ボーレート変更等の詳細は添付PDF参照
ソースコード
/* Danny van den Brande 作
Androidアプリから複数サーボを制御。ピン数の許す限り追加可能。 */
#include <Servo.h>
Servo servo[10]; // 最大10個まで対応
byte serialA;
void setup() {
servo[0].attach(9); // サーボ1
servo[1].attach(10); // サーボ2
servo[2].attach(11); // サーボ3
servo[3].attach(3); // サーボ4
servo[4].attach(5); // サーボ5
servo[5].attach(6); // サーボ6
// servo[6].attach(...); // 7個目以降はピン番号を指定して追加
Serial.begin(9600); // Bluetoothモジュールのボーレートに合わせる
}
void loop() {
if (Serial.available() > 2) {
serialA = Serial.read();
Serial.println(serialA);
}
unsigned int servopos = Serial.read();
unsigned int servopos1 = Serial.read();
unsigned int realservo = (servopos1 * 256) + servopos;
Serial.println(realservo);
// サーボごとのコマンドレンジ:1000-1179, 2000-2179, 3000-3179...
for (int i = 0; i < 6; i++) {
int base = (i + 1) * 1000;
if (realservo >= base && realservo < base + 180) {
int angle = map(realservo, base, base + 180, 0, 180);
servo[i].write(angle);
Serial.print("servo "); Serial.print(i+1); Serial.println(" ON");
delay(10);
break;
}
}
// 7個目以降はコメントアウト解除で追加可能
}
回路図

製造プロセス
- シンプルPiロボット - Raspberry Piで2WD自律ローバーを構築
- Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
- Arduino電源制御センター:N-FET/P-FET/リレー/RTC搭載キット
- Android加速度センサーで操作するラジコン車両:Raspberry Pi・Arduino・モーターシールド連携
- ArduinoとHC-SR04で作るサーボ駆動障害物回避ロボット
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
- Arduino & MPU6050:SG90 & MG996Rサーボの精密制御
- Arduino UnoとBluetoothでラジコンカーを遠隔操作:ステップバイステップガイド
- サーボモーターの仕組みと重要性
- サーボモータ減速機の理解:機能、メリット、用途