触れてみよう電子工作×IoT
IoTで「パンツァー・フォー!」 1/48重戦車タイガーIを改造してスマホで遠隔操作できるようにしてみた<後編>
Cerevoのミニ四駆IoT化キット「MKZ4」を流用 text by 押切 眞人
2017年3月27日 00:05
僚誌「INTERNET Watch」とリレー形式で掲載していく本連載「触れてみよう電子工作×IoT」。
前回は、INTERNET WatchでCerevoのミニ四駆IoT化キット「MKZ4」の仕組みと、MKZ4を使って戦車をスマートフォンで操作するための概要を説明したが、今回はその後編ということで、戦車のハードを実際に改造する手順と、スマートフォンから操作するためのプログラムを解説しよう。
(編集部)
触れてみよう電子工作×IoT 第2回 |
---|
・IoTで「パンツァー・フォー!」 1/48重戦車タイガーIを改造してスマホで遠隔操作してみた<前編> |
戦車のプラモデルに「MKZ4」を搭載してスマートフォンで操作可能にまずは必要となる部品を紹介
今回必要となるものは、前回のINTERNET Watchの概要編で紹介したとおり、戦車のプラモデル、ミニ四駆IoT化キット「MKZ4」の主要パーツ、2chモータードライバ「DRV8835」など。
部品名称 | 入手先 | 参考価格(税込表記) |
MKZ4 | Cerevo 公式ストア | 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」に変更します。
各パーツの接続と回路図は下記のようになります。
MKZ4の基板が回路図通り完成したら、戦車のギアボックスのモーターにモータードライバを繋ぎます。
この後は、砲身用のLEDを繋ぎます。この戦車だと砲身が中空ではなかったので、代わりにアクリル棒をつけて光らせてみました。これでハードは完成です。
その2:スケッチ(プログラム)を作成して、戦車を制御できるようにしよう
次にスケッチ(Arduino環境におけるプログラム)を作成するために、新しいモータドライバの制御を確認します。DRV8835の制御は以下の表のようになります。
ユーザーがスマートフォンで操作できる動きについては、「forward:前進」、「back:後進」、「left:左回転+停止」、「right:右回転+停止」、「stop:停止」、「fire:砲身LED点灯(反動再現)」、「turn:旋回」、「fast:高速化」、「slow:低速化」としました。
これらを元にスケッチを作成します。スケッチは少々長くなったので、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台の戦車が「パンツァー・フォー!」の声で前進するといった改造も行う。
押切 眞人
Cerevoの電気回路設計者。MKZ4も担当。MKZ4はもともとCerevo TechBlogでの記事がきっかけになって商品化になりました。今回の連載で解説しきれない内容は、TechBlogでさらに解説していくのでご期待ください!