MobBob:Arduino製ロボットをAndroidスマホでシームレスに制御
必要な部品と材料
| Arduino Nano R3 | ×1 |
| HC-05 Bluetoothモジュール | ×1 |
| SG90 マイクロサーボモーター | ×4 |
| 単4電池ホルダー(4本用) | ×1 |
| 単4電池 | ×4 |
必要な工具と機器
- はんだごて(汎用)
- 3Dプリンター(汎用)
使用するアプリ
- Arduino IDE
このプロジェクトについて
ウェブサイトの指示に従ってこのロボットを作りました。ArduinoとAndroidの共生という素晴らしいアイデアです。
MobBobはスマートフォンで制御するロボットです。スマホの能力を活用し、音声認識とコンピュータービジョンを備えた歩行・会話ロボットを実現しています。
- 3Dプリントパーツ: Thingiverse
- Android APK: APKPure
コードでは以下の設定が必要です:
- ピン変数を自分の配線に合わせて更新
- サーボのセンター、最小、最大値を調整
- 「FRONT_JOINT_HIPS」を1または-1に設定(ヒップサーボの取り付け向きによる)。筆者はMobBobスタイル(サーボ軸が前向き)で1に設定
ソースコード
Kevin Chan(Cevinius)による完全な制御プログラムです。ソフトウェアシリアルでBluetooth通信を行い、スムーズなサーボアニメーションシステムとシリアルコマンドパーサーを搭載しています。
主なコマンド:
<OK>- 動作確認<SV, time, leftHip, leftFoot, rightHip, rightFoot>- サーボ直接制御<ST>- 停止/リセット<SI>- 即時停止<FW, #Times>- 前進<BW, #Times>- 後退<LT, #Times>- 左旋回<RT, #Times>- 右旋回- その他:ヘッドシェイク、バウンス、ウォブル、足タップ、レッグシェイク等のアニメーション
/*
* MobBob Control Program - Software Serial Bluetooth Version
* by Kevin Chan (aka Cevinius)
* =============================================================
*/
#include <Servo.h>
#include <SoftwareSerial.h>
// 通信速度設定(Bluetoothモジュールに合わせる)
#define SERIAL_SPEED 115200
const int rxPin = 11;
const int txPin = 12;
SoftwareSerial softwareSerial(rxPin, txPin);
// サーボピン設定
const int SERVO_LEFT_HIP = 5;
const int SERVO_LEFT_FOOT = 2;
const int SERVO_RIGHT_HIP = 3;
const int SERVO_RIGHT_FOOT = 4;
// ヒップサーボの向き設定
// 1: MobBobスタイル(前向き)、-1: Bobスタイル(後ろ向き)
#define FRONT_JOINT_HIPS 1
// サーボセンター/最小/最大値(各自のロボットに合わせて調整)
const int LEFT_HIP_CENTRE = 1580;
const int LEFT_HIP_MIN = LEFT_HIP_CENTRE - 500;
const int LEFT_HIP_MAX = LEFT_HIP_CENTRE + 500;
const int LEFT_FOOT_CENTRE = 1410;
const int LEFT_FOOT_MIN = LEFT_FOOT_CENTRE - 500;
const int LEFT_FOOT_MAX = LEFT_FOOT_CENTRE + 500;
const int RIGHT_HIP_CENTRE = 1500;
const int RIGHT_HIP_MIN = RIGHT_HIP_CENTRE - 500;
const int RIGHT_HIP_MAX = RIGHT_HIP_CENTRE + 500;
const int RIGHT_FOOT_CENTRE = 1465;
const int RIGHT_FOOT_MIN = RIGHT_FOOT_CENTRE - 500;
const int RIGHT_FOOT_MAX = RIGHT_FOOT_CENTRE + 500;
// 以下、アニメーションデータ、パーサー、制御ロジックが続く(全文はGitHub参照)
完全なコードは長いため、主要部分のみ掲載しています。全文はプロジェクトページまたはGitHubを参照してください。
回路図
製造プロセス
- Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
- 自作LUMAZOID:Arduino音楽ビジュアライザーDIYガイド
- Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
- Arduino Nanoで37LEDルーレットゲームを自作:ヨーロピアンスタイル完全再現
- Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
- Arduino Nanoで音声制御ロボットを自作
- PiBot:Arduino駆動の精密ピアノ演奏ロボット
- Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
- DIY ハンドジェスチャー制御 Arduino ロボットアーム - ステップバイステップ構築ガイド
- 4輪ArduinoロボットをDabbleアプリでBluetooth制御しよう
- Bolt IoTで作るスマートロボットカー:Arduino UNOとL298ドライバーでWi-Fi遠隔操作