M5Stack ATOM – Wi-Fi ラジコンカー
この記事は「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改・ハードウェア編)」の改訂版でM5Stack ATOMを使用してラジコンカーを作ります。
全ての部品はブレッドボード上にジャンプワイヤーを使って接続することができます、ハンダ付が苦手な方にもお試しいただけます。
組立て写真
この記事は「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改・ハードウェア編)」の改訂版でM5Stack ATOMを使用してラジコンカーを作ります。
全ての部品はブレッドボード上にジャンプワイヤーを使って接続することができます、ハンダ付が苦手な方にもお試しいただけます。
組立て写真
旧記事「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改)」は、スマホのジャイロセンサーを使って操作するものでしたが、最新のブラウザからは操作できなくなっています(^-^;)
改修するのが難しそうなので、以前から考えていたジョイスチック風の操作画面に改変しました。
メインのスケッチは、ほぼそのままでスマホ上の操作画面だけを書き直しました。
旧記事と同様に iPhone または Android 端末から操作します。
ラジコンカー本体のハード構成は変更ありません。
操作アプリ画面
この記事は「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改)」のハードウェア編になります、市販のESP-WROOM-02またはESP-WROOM-32のボードや汎用の車体を使ってラジコンカーを組立てます。
ご注意:スマホの最新のブラウザではセンサー値取得が制限されているために使用できません、新しい記事「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改2)」を検討してください(*- -)(*_ _)ペコリ
旧記事「ESP-WROOM-02 Wi-Fiラジコンカー」は、投稿日が「2015/09/15」とかなり古いですが、このブログ中では2番目に来訪者の多い記事です。(1番は「Scratch Boardを作る」です(^-^;)
旧記事は今でもそのままで動作しますが、久々に更新することにしました。
モータードライバーは、当時と変わらず安価で入手可能ですのでそのままにして、ソフトウェアを改訂します。
元記事では、スマホアプリや自作のリモコンでUPD通信を使って操作する方式でしたが、今回はスマホのジャイロセンサーを使って操作することにしました、ラジコンカーがWebサーバーとして動作し、スマホのブラウザから接続することになります。
(スマホは iPhone または Android)
前記事の「ESP-WROOM-02 Wi-Fiラジコンカー」の受信側を基板化しました、モータードライバにJRCのデュアルフルブリッジドライバ NJM2670E3-TE2を使って小型化しました、基板はEagleでレイアウトし、スイッチサイエンスの基板製造サービスを使用しました。
受信機側のスケッチはモータードライバを変更しても「Wi-FiラジコンカーをAndroid OSCアプリで操作する」と同じコードで動きます。
加速度センサ(ADXL345)を使ったWi-Fiラジコンカーのコントローラを作りました。
スマホを使えない幼児向けのコントローラになります。
ESP-WROOM-02にI2Cで3軸加速度センサ(ADXL345)を接続します。
コントローラからWi-Fi AP(SoftAP)モードのラジコンカーに接続し、UDPパケットで左右のモータの速度制御データを送信します。
UDPパケットをiOSCの形式に合わせることでラジコンカー側の変更を不要にします。
このコントローラをおもちゃの「魔法の杖」とか「おきあがりこぼし」などに組込めば面白いかと・・・(^-^;
これを使って操作してみました。
前記事の「ESP-WROOM-02 Wi-Fiラジコンカー」ではApple Store AppのiOSCを使って操作しましたが、今回はAndroid携帯から操作するアプリを紹介します。
Android上でもOSCアプリは多くありますが、その中でラジコンのコントローラーっぽい操作画面に設定できるAndrOSCを使用します。(Android版でも同様にアクセスポイント無しで直接接続できます)
AndrOSCのダウンロードサイト(寄付アプリ)
AndrOSCで設定した操作画面
AndrOSCネットワーク設定画面
安価なWi-Fiモジュールを使ってiPhoneから操作するラジコンカーを作りました。
リモコン受信側(ESP-WROOM-02)
受信側はAPモードで動作し、アクセスポイント無しでiPhoneと直接接続します。
左右にギアモータを取付けた台車(バッテリケース)に搭載し、iPhone上のiOSCアプリからのコマンドを受信して動作します。
コマンドは、左右のモータ回転速度、回転方向の制御、ヘッドライトの点灯、警笛の鳴動を用意しました。
*モーターの大きさに比べてフルブリッジが大きめですが、旧作の流用ですので・・
ZenWheelsからのデータをダンプしてみた。
(スマホよりも手軽な送信機を作るための情報収集)
リセット
C1 00 81 00 82 00
アクセル前進
82 00
82 01
82 02
..
82 3E
82 3F
アクセル後退
82 00
82 7F
82 7E
..
82 42
82 41
ハンドル右へ
81 00
81 01
81 02
..
81 3E
81 3F
ハンドル左へ
81 00
81 7F
81 7E
..
81 42
81 41
ルームライト
87 01
87 02
83 00 84 00 87 03
83 00 84 00 87 04
87 05
87 00
ヘッドライト
83 02 83 08 84 02 84 08
85 01
83 02 83 08 84 02 84 08
85 02
83 00 84 00
85 00
クラクション
86 01
86 00
右ウインカ
87 00
+繰り返し
+83 00 84 01 84 04
+83 00 84 00
左ウインカ
87 00
+繰り返し
+83 01 83 04 84 00
+83 00 84 00
ハザード
87 00
+繰り返し
+83 01 83 04 84 01 84 04
+83 00 84 00
CPU:Microchip PIC24FJ64GB002
モータドライバー: TOSHIBA TA7291Px2
制御出力: ブラシモーター(正逆転)×2、サーボ×3、デジタルI/O×1