触れてみよう電子工作×IoT

IoTで「パンツァー・フォー!」 1/48重戦車タイガーIを改造してスマホで遠隔操作できるようにしてみた<後編>

Cerevoのミニ四駆IoT化キット「MKZ4」を流用 text by 押切 眞人

 僚誌「INTERNET Watch」とリレー形式で掲載していく本連載「触れてみよう電子工作×IoT」。

 前回は、INTERNET WatchでCerevoのミニ四駆IoT化キット「MKZ4」の仕組みと、MKZ4を使って戦車をスマートフォンで操作するための概要を説明したが、今回はその後編ということで、戦車のハードを実際に改造する手順と、スマートフォンから操作するためのプログラムを解説しよう。

(編集部)


戦車のプラモデルをスマートフォンで操作できるように改造する。右は今回製作するモデル、左は今回のシステムを別の車種に搭載してみたもの。

戦車のプラモデルに「MKZ4」を搭載してスマートフォンで操作可能にまずは必要となる部品を紹介

 今回必要となるものは、前回のINTERNET Watchの概要編で紹介したとおり、戦車のプラモデル、ミニ四駆IoT化キット「MKZ4」の主要パーツ、2chモータードライバ「DRV8835」など。

今回使用する戦車のプラモデル。
今回必要となるもの一覧。
モータードライバ「DRV8835」。
今回の改造に必要な部品等
部品名称入手先参考価格(税込表記)
MKZ4Cerevo 公式ストア6,458円
DRV8835使用ステッピング&DCモータドライバモジュール秋月電子通商300円
超高輝度5mm赤色LED 15度(10個入)秋月電子通商150円
カーボン抵抗(炭素皮膜抵抗) 1/6W 100Ω(100本入)秋月電子通商100円
耐熱電子ワイヤー 2m×7色 外径1.55mm(UL3265 AWG20)秋月電子通商650円
ポリウレタン銅線(0.29mm 20m)秋月電子通商190円
タケダコーポレーション タケダモケイ 40-0005 [アクリル丸棒 5mmφ]ヨドバシカメラなど300円前後
アオシマ AOSHIMA 1/48スケール リモコンAFVシリーズ No.15 ドイツ重戦車 タイガーI 前期タイプヨドバシカメラなど1,900円前後
※2017年3月調べ


その1:戦車のプラモデルにWi-Fiモジュール「ESP8266」を接続してみよう

 それでは、筐体となる戦車のプラモデルを作りましょう。改造には大きさ的にも難易度的にもアオシマさんの「 1/48 リモコンAFVシリーズ」の有線リモコン式戦車を使い、付属のギアボックスにMKZ4に同梱されているESP8266モジュールを接続して、スマートフォンからWi-Fi経由でコントロールできるようにします。

 本製品は1/48スケールのシリーズでギアボックスがスリムに作られており、組み立てもミニ四駆に比べると難しいのですが、スケールモデルとしてはパーツ数も少なく組みやすいです。

 戦車キットの組立て説明書に従って、戦車本体を組立ててください。なお、戦車キット付属の有線リモコンは使わないので、今回は組立て不要です。

今回制作するシステムのブロック図。

 戦車が組み上がったら、次にMKZ4を組み立てていきましょう。MKZ4に含まれているステアリングについてはワイルドミニ四駆を制御するためのものなので、今回の改造では使いません。また、同梱のモーターモジュールは秋月電子さんの「DRV8835」に変更します。

 各パーツの接続と回路図は下記のようになります。

ESP8266とDRV8835、DRV8835と各モーターの接続は上記のようにする。
MKZ4戦車の回路図。

 MKZ4の基板が回路図通り完成したら、戦車のギアボックスのモーターにモータードライバを繋ぎます。

付属のギアボックスとモーター。
ギアボックスのモーターに繋いだ状態。
モータードライバ部分の拡大写真。
砲身の根元にLEDを固定。

 この後は、砲身用のLEDを繋ぎます。この戦車だと砲身が中空ではなかったので、代わりにアクリル棒をつけて光らせてみました。これでハードは完成です。

砲身をアクリル棒に変更する前の状態。
砲身をアクリル棒に変更した後の状態。先端も発光するようになる。

その2:スケッチ(プログラム)を作成して、戦車を制御できるようにしよう

 次にスケッチ(Arduino環境におけるプログラム)を作成するために、新しいモータドライバの制御を確認します。DRV8835の制御は以下の表のようになります。

DRV8835の制御一覧。

 ユーザーがスマートフォンで操作できる動きについては、「forward:前進」、「back:後進」、「left:左回転+停止」、「right:右回転+停止」、「stop:停止」、「fire:砲身LED点灯(反動再現)」、「turn:旋回」、「fast:高速化」、「slow:低速化」としました。

スケッチの一部。
徹底解説!MKZ4ガイドブックの表紙画像。

 これらを元にスケッチを作成します。スケッチは少々長くなったので、GitHubで公開しています。

■MZK4戦車のスケッチ(GitHub)
https://github.com/cerevo/MKZ4_Tank.git

 なお、スケッチの書き込みにはArduino IDEをインストールした環境と、プログラム書き込みキット「MKZ4WK」が必要となります。書き込み方法については「徹底解説!MKZ4ガイドブック」やCerevo TechBlogの記事を参考にしてみてください。

 スケッチの動作を簡単に説明すると、ブラウザでユーザーが押したボタンに応じたコマンドをESP8266が受信、モーターを動かします。具体的には前進の場合、ユーザーがブラウザで[forward]ボタンを押すとESP8266が“forward”を受信してhandle_forward)();を実行します。handle_forward)()ではさらにDRV8835_Control()を実行して表の通りにモータドライバを動かします。今回はモータドライバのPWMの値を複数用意して、速度制御できるようにしています。

 また、Fireボタンを押すとLEDが光るだけでなく、反動を表現するために一旦少しバックしてから光る動きも入れてみました。

スマートフォンのユーザーインターフェイス画面。

 スマートフォンで表示するユーザーインターフェイス画面については、今回はシンプルなボタン式にしてみました。

 接続は戦車の電源を投入後、スマートフォンから「SSID:MKZ4_Tank」「PASSWORD:なし」のアクセスポイントに接続し、ブラウザのURLに「192.164.4.1:8080」を入力すると操作画面が表示されます。

 なお、キャリア製のスマートフォンにプリインストールされているブラウザでは、正しく動作しないケースがあります。その場合はGoogleのブラウザアプリ「Chrome」をお試し下さい。

実際にシステムを動かしてみたスマートフォンでfireボタンを押すと砲身が発光


スマートフォンでfireボタンを押すとLEDが光る。また、反動を表現するために一旦少しバックするギミックも。

 スマートフォンからfireボタンを押すと戦車のLEDが光る動画を用意してみました。MKZ4をミニ四駆に搭載した際はスワイプ動作で前後左右の動作をしますが、今回の戦車ではボタンを押すことで動作するようになっています。

 例えば、[forward]ボタンを押すと前進し、[fire]ボタンを押すと大砲発射を模したアクションをします。また、実際の動きもミニ四駆はステアリングを切ることで左右に曲がりますが、戦車はキャタピラを片側だけ回すことで左右に曲がります。その場で旋回することもできます。

 キャタピラが段差を吸収するのでミニ四駆で進めない路面も走ることができます。操作感の違いは、是非実際に組み立てて体感していただきたいです。

さらなるステップアップは「Cerevo TechBlog」で紹介

 今回はスマートフォンと1対1で接続していますが、Cerevo TechBlogではこの改造の続編として、1対:多の接続や外部インターネットからの操作、音声認識アプリの開発について解説予定。

 戦車以外にも他の乗り物にも応用が可能だと思いますので、トライしてみてください。

複数の戦車を同時に動かす方法を紹介。
外部ネットワークからリモートで操作したり、グラフィックデータを採用したユーザーインターフェイスの作り方も解説。


さらに音声認識アプリを使って、3台の戦車が「パンツァー・フォー!」の声で前進するといった改造も行う。

IoT電子工作の制作・使用は、自己責任で行ってください。また、第三者からアクセスされない環境・設定で運用するなど、セキュリティ対策にも留意が必要です。この記事を読んで行った行為によって生じた損害は、筆者および編集部では一切の責任を負いかねます。

押切 眞人

Cerevoの電気回路設計者。MKZ4も担当。MKZ4はもともとCerevo TechBlogでの記事がきっかけになって商品化になりました。今回の連載で解説しきれない内容は、TechBlogでさらに解説していくのでご期待ください!