2018/11/01

ESP-WROOM-02/32 Wi-Fi ラジコンカー(改)

ご注意:スマホの最新のブラウザではセンサー値取得が制限されているために使用できません、新しい記事「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改2)」を検討してください(*- -)(*_ _)ペコリ


旧記事「ESP-WROOM-02 Wi-Fiラジコンカー」は、投稿日が「2015/09/15」とかなり古いですが、このブログ中では2番目に来訪者の多い記事です。(1番は「Scratch Boardを作る」です(^-^;)

旧記事は今でもそのままで動作しますが、久々に更新することにしました。
モータードライバーは、当時と変わらず安価で入手可能ですのでそのままにして、ソフトウェアを改訂します。
元記事では、スマホアプリ自作のリモコンでUPD通信を使って操作する方式でしたが、今回はスマホのジャイロセンサーを使って操作することにしました、ラジコンカーがWebサーバーとして動作し、スマホのブラウザから接続することになります。
(スマホは iPhone または Android)

操作アプリ画面

本体への組込み
ソースファイル内のライト、警笛、左右のモータードライバへの接続にこの記事と異なるポートを使用する場合は、該当のポート番号を変更してください、また、複数台のラジコンカーを作る場合はそれぞれのSSIDを重複しないように変更してください。
これらの変更を行った後に、コンパイルして、ESP-WROOM-02またはESP-WROOM-32へ書込みます。

起動
本体は電源オンで、Wi-Fiアクセスポイントとして起動しますので、スマホで本体のSSID(ESPCar10)へパスワード(ESP12345)を入力して接続します。
接続できたら、スマホブラウザのURLに本体のIPアドレス(http://192.168.4.1)を入力して接続します。
スマホに操作画面が表示され、操作できるようになります。

操作方法
起動したときに表示される「四角の箱枠の中央にある赤い丸」がスマホを傾けることで傾けた方向に移動します、赤い丸が移動する方向に本体が移動します。
移動する速さや方向はスマホの傾きに連動していますので、傾きを変えて操作してください。
ほぼ水平にすると停止します。
「クラクション」ボタンは押すと本体に接続した圧電スピーカーを鼓動します。
「ライト」は本体に接続したLEDを点滅します、このボタンはトグル動作です。
*ライトはスマホとの通信が途絶えた場合には、0.5秒間隔で点滅します。

ESP-WROOM-02、ESP-WROOM-32での接続図は別記事にします。

ソースコード
ソースコードはこちらからダウンロードできます。

CarController.ino メイン

AnalogWrite.ino AnalogWrite 処理

inde_html.h 操作画面の定義


この記事へのトラックバック URL :

    Trackbacks:0

    コメント:4

  1. ESP-WROOM-02 Wi-Fiラジコンカー改2について聞きたいのですが、esp32でサイトのプログラムを使用し、ピンの割り当てをこのように変更し、
    #define PWM_R 19 #define Dir_R 5 #define PWM_L 18 #define Dir_L 4(PWM_Rが右側のモータへpwm出力を送るためのピン、Dir_Rが右のモータの回転方向切り替えのためのピン、PWM_Lが左側のモータへpwm出力を送るためのピン、Dir_Lが左のモータの回転方向切り替えのためのピン)
    実行してみたのですが、後退関連の動作(R.Lが負の値の時の動作)は正しく行われたのですが、前進関連の動作(R.Lが正の値の時の動作)ができなかったのですが、原因等わかりますでしょうか?

  2. ご参照ありがとうございます。

    ソースコードを変更されているようですが、ご使用のモータードライバは「NJM2670D2」でしょうか?
    私のソースコードは「NJM2670D2」を制御するように書かれていますので、異なるモータードライバを使用されるのであれば、そのモータードライバを使ったソースコードを探された方がよろしいかと思います。
    お役に立てずに申し訳ありません。

  3. ご返信ありがとうございます。NJM2670D2ではないドライバを使用していますが、後退関連の動作はうまくいっており、あとは前進の際にも4.5番ピンを出力できるようにすれば、動きそうです。私のドライバを使ったソースコードがなかったため、こちらで頑張ってみます。

  4. DRV8835用に書き換えてみましたので差分をお送りします。
    下記宛に空メールをお願いします。
    goji2100@gmail.com(全部半角にしてください)

Leave a comment