基本的なしくみ
操縦のしくみ
本機で操縦者視点で操縦する「FPV(First Person View)」を実現するために、インターネットの基本技術であるHTTPやWiFiといった技術を使用しています。
具体的には動画が貼り付けてあるWebページを転送・閲覧する仕組みとよく似ています。
本機側のカメラで撮影した動画を送信し、操縦データをもとに車体の動きを制御する仕組みを理解して組み立てると各部の役割がよくわかると思います。
本機側
本機搭載の機器ごとに、役割を説明します。
カメラ付マイコンユニット(M5Camera)
本機のかなめになる部分が、M5Cameraという「カメラ付マイコンユニット」で、前方の様子の撮影、WiFiアクセスポイント機能、通信データの送受信、サーボ制御などの役割をしています。M5Cameraの内部には次のような部品が組み込まれています。
〇ESP32マイコン・・・最大240MHzのクロック周波数で動作するデュアルコアプロセッサを搭載したマイコンです。4MBのメモリやWiFi通信機能も搭載していて、IoT分野で注目を集めているマイコンです。本機では次のようなカメラ画像の処理・データ送受信・アクセスポイント機能・サーボ制御などの処理を行っています。
- WiFiアクセスポイント機能・・WiFi通信の親機機能をもち、IPアドレスの割り当てなども行っています。SSID・パスワード管理も行い、1台の子機との通信を行うことができます。
- HTTPサーバー機能・・クライアントからのリクエストに応じて、HTMLファイルの転送を行います。またHTTPリクエストに応じ、様々な処理を行うことができます。
- 動画サーバー・・クライアントからのリクエストに応じ、動画をストリーミング送出します。
- サーボ制御・・・クライアントからのリクエストに応じ、左右の連続回転サーボの回転制御を行います。
〇OV2460カメラ・・・最大1600×1200の解像度をもつ小型カラーカメラです。本機では640×480の動画を撮影しています。
〇SPIフラッシュメモリ・・・4MBの容量を持つ不揮発性メモリで、外部記憶装置として利用できます。本機では、スマホに送信するHTMLファイルを格納しています。
連続回転サーボ
通常型のサーボはコントローラーから送られるPWM信号により「軸の回転角」を変化させますが、今回使用している「FS90R」という連続回転サーボは、正転・逆転・回転速度を変化させます。
この連続回転サーボを2個使い、それぞれの軸の回転をタイヤに伝えることで、本機を前進・後退・左右旋回させることができます。
モバイルバッテリー
スマホ充電用のモバイルバッテリーを流用し、マイコンユニットおよびサーボに5Vの電源を供給しています。
スマホ側
本機は、スマートフォン・タブレット・ノートPCなどWiFi通信に対応したデバイスで操縦することができます。下記のような機能を使っています。
WiFi機能
通常WiFi機能を使って無線ルーターに接続しインターネットへの接続を行っていると思います。本機では、M5Cameraがルーターとなり通信を行います。
スマホの「設定」などで、M5Cameraが発しているWiFi信号を選択し接続します。
ブラウザ
M5Cameraとの通信では、ブラウザアプリ(ソフト)を使います。IE・ChromeといったHTMLというマークアップ言語で記述された文書を画面上に表示するもので、インターネットでも広く使われています。
本機では、動画を表示し、ボタン操作を行うHTMLファイルを受信し、スマホ等の画面に表示しています。ボタン操作を行うと、HTMLサーバー側に、リクエストの形で操縦コマンドを送信します。
※Android・iOS・Windowsの各種ブラウザで動作を確認していますが、古いバージョンでは操縦できないこともあります。
制御プログラム
これらの機能の実現のためには、ハードウェア(装置)だけでなくソフトウェア(プログラム)も必要です。
本機M5Cameraは、ESP32用に拡張したArduinoIDEで開発したオリジナルプログラムをあらかじめ書き込んだ状態で出荷しています。また、ブラウザに表示されるHTMLファイルもあらかじめフラッシュメモリーに転送済みです。
御購入者がご自身で改良を加えたソフトウェアも書込み・転送可能です。ただし書込み後は出荷時プログラムは上書きされますのでご注意ください(出荷時プログラムは本サイトに掲載しています。)