Wi-Fi 操作 FPV ローバーロボットの製作:Arduino & ESP8266 完全ガイド
プロジェクト概要
Arduino UNO と ESP8266(ESP-01)を組み合わせ、ブラウザから Wi-Fi 経由で操作できる 2 輪駆動の FPV(First Person View)ローバーロボットを自作します。Android スマホをロボットに搭載し、IP Webcam アプリで映像・音声をストリーミング。ブラウザ側の HTML/JS インターフェースで操作しながら映像を確認できます。アクリル板を手工具で加工してフレームを自作する低コスト設計で、3D プリンターやレーザーカッターが不要です。
主要パーツ
| パーツ | 数量 | 備考 |
|---|---|---|
| Arduino UNO | 1 | |
| ESP8266 ESP-01 | 1 | ボーレート確認必須(デフォルト 115200/9600 等) |
| 28BYJ-48 ステッピングモーター + ULN2003 ドライバー | 2 セット | 左右駆動用 |
| Arduino Proto Shield | 1 | コンパクト実装用(ブレッドボードでも可) |
| 42×19mm ゴムタイヤ付きホイール | 2 | |
| 49×20×32mm スチールボール オムニホイール | 1 | キャスター代用 |
| モバイルバッテリー(5V 出力) | 1 | Arduino USB 給電用 |
| Android スマートフォン | 1 | IP Webcam アプリで映像配信 |
| アクリル板 2mm、M2/M3 ネジ・ナット、アルミブラケット、自撮り棒クリップ | 1式 | フレーム・搭載部品用 |
必要な工具
- 手ノコギリ、ユーティリティナイフ、定規、ドリル、ドライバー、サンドペーパー
- (3D CAD:Autodesk Fusion 360、2D CAD:DraftSight を設計に使用)
フレーム製作手順
- 2D 図面を印刷・転写:接着紙に印刷しアクリル板に貼り付け
- 切り出し:ユーティリティナイフでスコア入れ → 手で折る、または手ノコで切断
- 穴あけ:図面位置にドリルで穴開け(アクリルは手動でも加工容易)
- 組み立て:M3 ボルトでステッパー固定、5/32" ボルトで前輪・スマホクリップ固定
- モーターシャフトとホイールの径が合わない場合は、木製アダプターや接着剤で対応
電子回路
- ESP8266:TX→D3, RX→D2(SoftwareSerial)、CH_PD→3.3V、電圧分割(1kΩ+2kΩ)で Arduino 5V→ESP RX 3.3V 化
- ステッパー右:D8, D9, D10, D11 / 左:D4, D5, D6, D7(ULN2003 経由)
- 電源:モバイルバッテリー → Arduino USB → 5V/3.3V レール分配
Arduino スケッチの要点
- ライブラリ:
SoftwareSerial,Stepper(標準) - ESP8266 AT コマンドで STA モード → AP 接続 → TCP サーバー(ポート 80)起動
- HTTP リクエストのクエリパラメータ
?cm1=100等をパースし、方向コマンドに変換 - 方向コマンド:cm1=前進, cm2=後退, cm3=右旋回, cm4=左旋回, cm5=停止
- ステッパーは
step(±1)で微小駆動、速度はsetSpeed(60)で設定 - シリアルモニターで ESP 割り当て IP を確認可能
ブラウザ側コントロールインターフェース
- HTML/JS ファイル一式(
interface.rar)を解凍し Firefox で開く - ESP IP アドレスと IP Webcam の映像ストリーム URL を入力欄に設定
- キーボード矢印キー長押しで連続移動、テストボタンで自動旋回テスト
- 映像遅延が大きい場合は IP Webcam 設定で解像度を下げる
IP Webcam アプリ設定
- Google Play: IP Webcam
- 起動後、「Start server」で HTTP ストリーミング開始(デフォルトポート 8080)
- ブラウザ側に
https://<スマホIP>:8080/video等を指定
設計ファイルとリソース
- 123D Design ファイル(
robot.123dx) - 2D 図面(
base.dwg,base.pdf) - Fritzing 回路図(
wistepper-rev1.fzz) - Arduino スケッチ(
stepperRobot.ino) - HTML インターフェース一式
すべて GitHub リポジトリ ferauche/RoboAlegria および Hackaday.io プロジェクトページで公開されています。派生プロジェクト「Robô da Alegria」でも応用されています。
運用上の注意
- Arduino 再起動後、Wi-Fi 接続完了までシリアルモニターで待機
- モバイルバッテリー接続後、再接完了を待ってから操作開始
- ステッパー駆動はトルクが小さいため、平坦な床面での使用を推奨
- 長時間運用時はモータードライバーの発熱に注意
製造プロセス
- Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
- Arduino & Raspberry Pi でインターネット制御ビデオストリーミングロボットを構築
- Arduino Mega搭載UV除菌ロボット:遠隔操作可能な殺菌システム
- ArduinoとHC-SR04で作るサーボ駆動障害物回避ロボット
- DFRobot静電容量式指紋センサーをArduino/ESP8266で使う – 登録・認証・削除の完全ガイド
- ArduinoとAndroidでRoomba Create 2をリモコン操作 ─ Bluetooth経由のステップバイステップガイド
- Arduinoベースのヌンチャク操作6自由度ロボットアームキット
- Arduino Nanoとジョイスティックで2軸ステッピングモーターを制御:Visuinoで簡単プログラミング
- Arduino Nanoで音声制御ロボットを自作
- TinyMLで植物の健康状態を診断:実践ガイド
- Arduino & MPU6050:SG90 & MG996Rサーボの精密制御