Android今までESP8266をセンサーとしか組み合わせたことがなかったので、アクチュエーターとして一般的なモーターを使ってリモコンカーを作ってみることにしました。カメラ付きキャタピラ車ただ、リモコンカーだけだとちょっと寂しいので、少し工夫してスマホのカメラ映像を見ながら遠隔操作できるものにしてみました。Shieldを上に重ねてブレッドボード要らずの回路にしました。Shieldにはモーター2個とモーターの電源として電池ボックスを繋いでいます。Shieldスマホの固定用にプチブロック、モバイルバッテリーの固定用に粘着タックを使用しました。Miniの電源として使用しています。キャタピラ車の裏モーターとギアボックス、電池ホルダーはキャタピラ車の裏に取り付けました。モーターにはケーブルが付いていなかったので、ジャンパーワイヤ(オスーメス)のオス側を切ってモーターに半田付けしています。モーターのノイズ防止用にセラミックコンデンサをモーターに半田付けしています。Piなどをコントロールすることができるアプリ。今回はキャタピラ車に載せたスマホのカメラ映像の表示とキャタピラ車のJoystick操作を行います。残念ながら映像表示はAndroidのみに対応しているようです。(Android)キャタピラ車に載せたスマホのカメラ映像を送信するアプリ。(Android)スマホの画面を映像で記録できるアプリ。Widgetの2つのWidgetを配置しています。JoystickJoystickはX軸とY軸のデータを繋げた機器に送ります。MERGEにするとX軸とY軸を一つのバーチャルピンにまとめることができます。X軸とY軸のデフォルト値は0~1023になっていますが、その状態ではJoystickを放している時の値がX:512,Y:512になってしまうので、-100~100に変更してJoystickを放している時の値がX:0,Y:0になるように変更しました。書き込み頻度は100msから設定できますが、データはBlynkのクラウドサーバーを経由して機器に届くため必ず少しのラグが出ます。ADDRESSにはストリーミングサーバーのURLを指定します。このWidgetはクラウドサーバーを使わないので、指定したURLに直にアクセスします。Webcamではhttp://IP_ADDRESS:8080/videoと指定します。スケッチスケッチはかなりシンプルです。Shieldの2つだけです。Libraryリンクの先のGitHubからダウンロードできます。苦労したのが、Joystickのデータを2つのモーターの制御にうまく使えるようにする方法でした。Widgetの設定でデータの範囲を-100~100にすることで、かなり単純に全方向動作を可能にすることができました。速度)で簡単にモーターを制御することができます。Shieldライブラリに原因がありました。WEMOS_Motor.cppスケッチフォルダにあるlibrariesフォルダからたどっていって、WEMOS_Motor.cppファイルの114行目をdelay(100);からdelay(10);に変更するとJoystick操作の反応が良くなります。Shieldがハズレだったのかと思っていたのですが、出荷時のファームウェアは少し残念なもののようです。Piでビルドしインストールしました。新しいファームウェアはサイトに載っていた「motor_shield.bin」を使いました。あと、USB2TTLの代わりに秋月電子の超小型USBシリアル変換モジュールを使いました。miniの粗悪品に注意!ESP8266月別アーカイブはてなブログをはじめよう!IntellectualCuriosityさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。